I want to define property or want to use maven.plugin.classpath and maven.dependency.classpath in my build.xml. How can i do it ? Sample code is as below... <property> </property> is not working and not able to read the values from my build.xml so please explain me how can i do it ? <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>exec-maven-plugin</artifactId> <version>1.2</version> <executions> <execution> <id>install</id> <phase>install</phase> <goals> <goal>exec</goal> </goals> </execution> </executions> <configuration> <property name="plugin_classpath" refid="maven.plugin.classpath" /> <property name="maven_dependency_classpath" refid="maven.dependency.classpath" /> <executable>antscript.bat</executable> <!-- ant -f build.xml build --> </configuration> </plugin> Hi Sean Patrick Floyd, Yes i tried using maven-antrun-plugin but i am not able to setup JDK 1.4.2 version in it. I am trying to specify all possible way to apply JDK version 1.4.2 but it's still taking tools.jar or JDK version, Which maven.bat file is using (jdk 1.5) I was using following code in MAVEN-ANTRUN-PLUGIN as below code. <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-antrun-plugin</artifactId> <version>1.6</version> <executions> <execution> <id>install</id> <phase>install</phase> <goals> <goal>run</goal> </goals> <configuration> <source>${java-version}</source> <target>${java-version}</target> <compilerVersion>${java-version}</compilerVersion> <executable>${java.1.4.2.home}/bin/javac</executable> <target> <property name="plugin_classpath" refid="maven.plugin.classpath" /> <property name="maven_dependency_classpath" refid="maven.dependency.classpath" /> <ant antfile="ant_build.xml" /> </target> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>sun.jdk</groupId> <artifactId>tools</artifactId> <version>1.4.2</version> <scope>system</scope> <systemPath>${java.1.4.2.home}/lib/tools.jar</systemPath> </dependency> <dependency> <groupId>com.sun</groupId> <artifactId>rt</artifactId> <version>${java-version}</version> <scope>system</scope> <systemPath>${java.1.4.2.home}/jre/lib/rt.jar</systemPath> </dependency> </dependencies> </plugin> That's why i choose exec GOAL where my SYSTEM JAVA_HOME is 1.4.2 and it's able to execute it if i have all dependencies which i needed. Please help me out. Thanks.
maven.plugin.classpath и т. Д. - переменные, определенные только в maven-antrun-plugin . Плагин exec не знает об этих значениях. Кроме того, было бы невозможно сделать это в первую очередь, так как вы вызываете внешний файл .bat и, следовательно, запускаете новый процесс.
maven.plugin.classpath
На вашем месте я бы использовал плагин antrun. Подробнее см. на странице использования .
Обновление: хорошо, теперь я вижу вашу проблему. Нет, вы не можете использовать другой JDK, так как antrun работает в одном и том же vm. Так что либо вам нужно переключить JDK maven, либо вам действительно нужно использовать exec-maven-plugin. В последнем случае вам придется использовать dependency:build-classpath -DoutputFile=someFile.txt и на стороне муравья прочитайте содержимое someFile.txt как свойство и создайте из него путь к классам. Или вы можете использовать %classpath переменную метку-заполнитель в аргументах командной строки.
dependency:build-classpath -DoutputFile=someFile.txt
someFile.txt
%classpath
Да, правильный ответ, который я нашел, это использовать версию MAVEN, которая поддерживает JDK 1.4.2. Поэтому я должен использовать apache-maven-2.0.11, который поддерживает JDK 1.4.2
Спасибо всем за ваши ответы.