использование JSBuilder2.jar в веб-приложении Maven2 - PullRequest
1 голос
/ 30 июля 2010

Я начал играть с Maven2 и пытаюсь перенести один из моих проектов с ant на maven. Мне удалось создать файл ear, использовать jaxb и другие биты, но осталась одна вещь, которую я не знаю, как подойти.

У меня есть WAR-модуль с кодом ExtJS, и я использую JSBuilder для создания и упаковки кода. Это делается как задача муравья и выглядит так:

<target name="-pre-compile" description="Building Frontend Libraries">
    <java jar="web/lib/dev/JSBuilder2.jar" failonerror="true" fork="true" >
        <arg line="--projectFile web/lib/dev/frontend.jsb2 --homeDir web/lib"/>
    </java>
</target>

Мне интересно, каким был бы «maven» способ сделать это? Есть ли способ, которым я могу сделать это чисто в maven (взглянул на плагин maven: exec, но немного сбивает с толку) или мне нужно вызвать ant из maven, чтобы добиться этого?

Спасибо

1 Ответ

2 голосов
/ 01 августа 2010

exec-maven-plugin является правильным ответом (хотя вы хотите цель java).Вы должны привязать его к фазе жизненного цикла.Посмотрите на страницу использования для примера.В вашем случае вам понадобится что-то вроде этого:

<plugin>
  <groupId>org.codehaus.mojo</groupId>
  <artifactId>exec-maven-plugin</artifactId>
  <version>1.1</version>
  <executions>
    <execution>
      <id>jsbuilder</id>
      <goals>
        <goal>java</goal>
      </goals>
      <phase>compile</phase>
      <configuration>
        <mainClass><!-- fill in from jar's META-INF/MANIFEST.MF --></mainClass>
        <argument>--projectFile</argument>
        <argument>web/lib/dev/frontend.jsb2</argument>
        <argument>--homedir</argument>
        <argument>web/lib</argument>
      </configuration>
    </execution>
  </executions>
  <configuration>
    <includeProjectDependencies>false</includeProjectDependencies>
    <includePluginDependencies>true</includePluginDependencies>
  </configuration>
  <dependencies>
    <!-- a bit nasty, would be better if jsbuilder2 available in a maven repo. -->
    <dependency>
      <groupId>com.extjs</groupId>
      <artifactId>jsbuilder2</artifactId>
      <version>2.0.0</version>
      <scope>system</scope>
      <systemPath>web/lib/dev/JSBuilder2.jar</systemPath>
    </dependency>
  </dependencies>
</plugin>

Если вы большой пользователь JSBuilder2, стоит спросить у Cencha, могут ли они выпустить его в центральный репозиторий maven.Направьте их на Хостинг репозитория OSS .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...