调试Maven以找出已创建的war文件名

时间:2011-10-01 19:28:31

标签: maven-2

当我运行mvn deploy

时,我在Maven2中收到此异常

请查看错误

[INFO] An Ant BuildException has occured: Warning: Could not find file D:\bayer\service\target\${file.name}.war to copy.
I have this below line under my POM.xml file 

请告诉我是否可以看到在运行时形成的file.name?

我在POM.xml文件下面有这一行

<copy file="${project.build.directory}/${file.name}.${project.packaging}" tofile="${deploy.home}/${webapps.dir}/${file.name}.${project.packaging}" />

我们如何调试这个?

1 个答案:

答案 0 :(得分:1)

默认情况下,maven生成的战争将具有以下名称:

${artifactId}-${version}.war

在你的antrun插件中,你可以引用maven属性(参见http://maven.apache.org/plugins/maven-antrun-plugin/usage.html)。

因此,如果您通过直接maven引用替换file.name属性,它将起作用:

${project.build.directory}/${artifactId}-${version}.${project.packaging}

(上面假设你的ant脚本在pom.xml里面而没有外化)

您也可以在pom.xml的build部分中覆盖它:

<build>
   <finalName>MySuperCoolApplication</finalName>
   ...
</build>

对于mvn的一般调试输出,只需使用-X标志