java如何将maven中basedir的父目录设置为ant的basedir?
背景: 我需要在构建中运行ant任务。使用maven的xml文件。所以我使用maven antrun插件来实现这一点
问题:
当我在ant中读取basedir时(在运行pom之后),它显示为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>
构建。xml(位置: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>
# 1 楼答案
我不确定是否有足够的细节说明您到底需要什么,但我能够通过basedir获得您想要的行为,如下所示:
pom。xml
构建。xml
结果是:
关键显然是inheritAll=false。但是,这可能会打乱您参考一些Maven属性的需要