是否可以为我的项目获取目录$ {project.build.directory} /test-1.0-SNAPSHOT?
我必须从此目录中排除某些文件以进行强化扫描,我才意识到当版本更改时此目录也是如此。是否有可用于替换此目录名称的属性?
答案 0 :(得分:4)
$ {project.build.directory}的值是构建目录的路径。这是一个项目属性,在3.0之前的pom属性之前,只能在pom.xml文件或Maven Resource插件的过滤功能处理的任何资源中使用。例如,它不是可以在bash命令行上使用的环境变量。您可能感兴趣的另一个项目属性是$ {project.build.finalName},它指的是打包构建项目时创建的文件的最终名称。
如果您可以修复战争的路径,包括其名称,那么应解决问题。 Maven: How to change path to target directory from command line?中描述了两种方法。一种方法允许在命令行上使用编译-D开关执行此操作,但不建议这样做;另一种方式是在pom.xml中定义一个配置文件,该配置文件对其进行硬编码,并且还使用编译-D开关调用。另请参阅Maven: specify the outputDirectory only for packaging a jar?,了解类似的方法,这种方法应该同样适用于战争。
maven属性和配置的其他参考包括http://docs.codehaus.org/display/MAVENUSER/MavenPropertiesGuide和http://books.sonatype.com/mvnref-book/reference/resource-filtering-sect-properties.html。最后一个引用提供了一些在pom.xml中使用项目属性的示例,用于某些目的,并在注释中提供了很好的示例。