是否有可能爲我的項目獲取目錄$ {project.build.directory} /test-1.0-SNAPSHOT?有爆炸戰爭目錄的maven屬性嗎?
我必須從這個目錄中排除某些文件進行強化掃描,並且我剛剛意識到當版本發生變化時,此目錄也會發生變化。是否有一個屬性可以用來替換此目錄的名稱?
是否有可能爲我的項目獲取目錄$ {project.build.directory} /test-1.0-SNAPSHOT?有爆炸戰爭目錄的maven屬性嗎?
我必須從這個目錄中排除某些文件進行強化掃描,並且我剛剛意識到當版本發生變化時,此目錄也會發生變化。是否有一個屬性可以用來替換此目錄的名稱?
$ {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中的項目屬性用於特定目的的例子,在評論中也有很好的例子。
謝謝!這幫了很多。 – 2015-03-16 17:19:53
請參閱http://stackoverflow.com/questions/6129581/in-maven-how-to-rename-the-output-war-file-based-on-the-name-of-the-profile-i for重新命名戰爭的方法 – 2015-03-13 19:27:14
名稱沒有任何問題。我需要的是我可以使用的名稱屬性,而不是在我的pom文件中對名稱進行硬編碼。 – 2015-03-13 19:38:11
該名稱來自構建內的finalName。所以也許project.build.finalName ist你在找什麼? – wemu 2015-03-13 22:35:13