Я начал играть с Maven2, и я пытаюсь портировать один из своих проектов от муравья знатоку. Я сумел создать файл уха, использую jaxb и другие биты, но существует одна вещь, оставленная, я не знаю, как приблизиться.
У меня есть ВОЕННЫЙ модуль с кодом ExtJS, и я использую JSBuilder, чтобы создать и упаковать код приятно. Это сделано как задача Ant и похоже на это:
<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:exec плагин, но немного сбивает с толку), или я должен назвать муравья от знатока для достижения этого?
Спасибо
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 .