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.
问问题
2192 次
2 回答
1
maven.plugin.classpath
等是仅在maven-antrun-plugin中定义的变量。exec 插件不知道这些值。此外,首先不可能这样做,因为您正在调用外部 .bat 文件并因此开始一个新进程。
如果我是你,我会使用 antrun 插件。有关详细信息,请参阅使用页面。
更新:好的,现在我看到了你的问题。不,您不能使用不同的 JDK,因为 antrun 在同一个虚拟机中工作。所以要么你需要切换 JDK maven 使用,要么你确实需要使用 exec-maven-plugin。在后一种情况下,您将不得不使用
and 在 ant 端,将 的内容作为属性读取并从中创建类路径。或者您可以在命令行参数中使用变量占位符。
dependency:build-classpath -DoutputFile=someFile.txt
someFile.txt
%classpath
于 2011-08-18T22:32:32.667 回答
0
是的,我找到的正确答案是使用支持 JDK 1.4.2 的 MAVEN 版本。所以我必须使用支持 JDK 1.4.2 的 apache-maven-2.0.11
谢谢大家的回答。
于 2011-08-22T16:29:04.907 回答