Привет,Ant задача сделать сборки Maven - но использовать другую версию Java, чем остальной Ant скрипт
Я пытаюсь включать Maven построить в моем Ant сборки. У меня все в порядке, когда я использую только связанную с Ant задачу, используя Maven Ant plugin.
Моя проблема заключается в том, что мой код Maven содержит 1,6-зависимый файл .jar, но мой скрипт Ant зависит от 1.5, поэтому он будет работать с 1.6. Поэтому мне нужно создать процесс, который переключает JVM для запуска моей цели Maven в моем скрипте Ant.
Я попытался: Добавление плагина в раздел сборки моего мастер-POM, который настраивает компилятор:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<executable>"c:\Program Files (x86)\Java\jdk1.6.0_45\bin\javac.exe"</executable>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
Это не работает, как он говорит, что есть проблема с -s. Я проверил, и это параметр Java 1.6 для javac, которого нет в 1.5! Таким образом, он создает вызов javac для 1.6, а затем запускает его с 1.5 javac. Кроме того, я бы предпочел только редактировать скрипты Ant для этого.
Я также попытался каждой комбинации < собственности> и < sysproperty> (в вызове Java) и < аргумент>, чтобы установить PATH и JAVA_HOME переменные, но они, кажется, не работает так, как мне нужно их , Неужели это невозможно? Я даже установил атрибут JVM тега java> < против 1,6 java, но у него все еще есть проблемы с javac, который Maven вызывает для сборки.
Заранее спасибо.
Вот раздел с сайта Maven (слегка полированный) для удобства:
<macrodef name="maven">
<attribute name="options" default="" />
<attribute name="goal" />
<attribute name="basedir" />
<attribute name="resultproperty" default="maven.result" />
<element name="args" implicit="true" optional="true" />
<sequential>
<java classname="org.codehaus.classworlds.Launcher" fork="true" dir="@{basedir}" resultproperty="@{resultproperty}">
<jvmarg value="-Xmx512m"/>
<classpath>
<fileset dir="${maven.home}/boot"><include name="*.jar" /></fileset>
<fileset dir="${maven.home}/lib"><include name="*.jar" /></fileset>
</classpath>
<sysproperty key="classworlds.conf" value="${maven.home}/bin/m2.conf" />
<sysproperty key="maven.home" value="${maven.home}" />
<arg line="--batch-mode @{options} @{goal}" />
</java>
</sequential>
</macrodef>
<target name="my_maven_target">
<maven basedir="${basedir}" options="${maven.opts}" goal="install" resultproperty="maven.build.result"/>
</target>