java – 如何在maven中将basedir的父目录设置为ant的basedir?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 如何在maven中将basedir的父目录设置为ant的basedir?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2285字,纯文字阅读大概需要4分钟。
内容图文
![java – 如何在maven中将basedir的父目录设置为ant的basedir?](/upload/InfoBanner/zyjiaocheng/793/457b0df61764496386b26e6ac953fc0e.jpg)
背景 :
我需要使用maven在build.xml文件中运行ant任务.所以我使用maven-antrun-plugin来做到这一点.
题 :
当我在蚂蚁(在运行pom之后)读取basedir时,它显示为fldr1.fldr2.prjctNm,这是它的默认值(在两个回声中).但是,我想将父目录路径设置为它. (例如:fldr1.fldr2).我怎样才能做到这一点.
单独使用Ant文件就可以了,因为它在标记中定义了basedir =“../”.
pom.xml(位置:fldr1.fldr2.prjctNm)
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.7</version>
<executions>
<execution>
<id>default-cli</id>
<phase>package</phase>
<configuration>
<target>
<property name="basedir" value="../" />
<echo message="basedir path 1 : ${basedir}"/>
<ant antfile="build.xml" target="cleanAll" />
</target>
</configuration>
<goals>
<goal>run</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
build.xml(location:fldr1.fldr2.prjctNm)
<project name="RideUtilities" default="cleanAll" basedir="../">
<target name="cleanAll" depends="all"></target>
<target name="all" depends="init,build"></target>
<target name="init">
<echo message="basedir path 2 : ${basedir}"/>
<property name="dirs.base" value="${basedir}/RideUtilities" />
<property name="src" value="${dirs.base}\src" />
<property name="jarFile" value="RideUtilities.jar" />
</target>
<target name="build">
<echo> ---Building jar files using ${dirs.base} ---- </echo>
</target>
</project>
解决方法:
我不确定是否有足够的细节关于你究竟需要什么,但我能够得到你想要的行为,如下所示:
的pom.xml
<target>
<echo message="basedir path 1 : ${basedir}" />
<ant antfile="build.xml" target="echo-base-dir" inheritAll="false" />
</target>
build.xml文件
<project name="test" basedir="..">
<target name="echo-base-dir">
<echo>base dir=${basedir}</echo>
</target>
</project>
输出是:
C:\dev\JavaTests>mvn antrun:run [INFO] Scanning for projects...
[INFO]
[INFO]
[INFO] Building test Strategy 3.0.7-SNAPSHOT
[INFO]
[INFO]
[INFO] --- maven-antrun-plugin:1.7:run (default-cli) @ test-test ---
[INFO] Executing tasks
main:
[echo] basedir path 1 : C:\dev\JavaTests
echo-base-dir:
[echo] base dir=C:\dev
[INFO] Executed tasks
[INFO]
[INFO] BUILD SUCCESS
[INFO]
[INFO] Total time: 1.005s
[INFO] Finished at: Wed Nov 06 09:59:36 EST 2013
[INFO] Final Memory: 8M/182M
C:\dev\JavaTests>
关键显然是inheritAll = false.但也许这会搞砸你需要引用一些Maven属性.
内容总结
以上是互联网集市为您收集整理的java – 如何在maven中将basedir的父目录设置为ant的basedir?全部内容,希望文章能够帮你解决java – 如何在maven中将basedir的父目录设置为ant的basedir?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。