我有一個maven專案,它生成了一個jar檔案作為web專案。在Maven的基礎上,我包括一個獨立的Tomcat。在這個jar檔案中,實際上有一個war檔案,其中包含我的應用程式。
這個應用程式在src/main/config(或任何類似的路徑)中包含一個 "version.txt",最后被包含在war-file中。
這個版本.txt看起來像:
version: ${project.version}。
我希望maven能用pom.xml中的正確版本替換該變數。 在我的pom.xml中,我包含了:
<build>
<resources>/span>
<resource>/span>
<directory>src/main/config</directory>
<filtering>true</filtering>
<includes>/span>
<include>**/version.txt</include>
</include>/span>
</resource>/span>
<resource>/span>
<resources>/span>
</build>
那么,有沒有辦法將這個版本.txt和一個有效的替換檔案包含在一個戰爭檔案中,這個檔案是在一個(Tomcat)jar-file中?
補充說明:
我的檔案層次結構看起來像:
jar-file。
-- ...
--war-file
---- ......
----version.txt。
uj5u.com熱心網友回復:
我建議你使用maven-war-plugin
。https://maven.apache.org/plugins/maven-war-plugin/usage.html
它將期望一個特定的目錄布局,在例子中它清楚地顯示了如何過濾(將maven變數替換成網路資源)
https://maven.apache.org/plugins/maven-war-plugin/examples/adding-filtering-webresources.html
如果這個解決方案沒有達到要求,那么以后應該在此基礎上提出更具體的問題。
uj5u.com熱心網友回復:
謝謝你的建議。不,沒有maven-war-plugin,但我已經包含了它,根據說明,它可以作業。
簡短的解決方案:
在pom.xml的同一層添加了一個資源目錄,并包含了version.txt
在pom.xml中添加并激活過濾功能:
<plugin>
<groupId>/span>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>/span>3.3.1</version>/span>
<configuration>/span>
<webResources>/span>
<resource>/span>
<filtering>true</filtering>
<directory>/span>externalresources</directory>/span>
</resource>/span>
</webResources>/span>
</configuration>/span>
</plugin>/span>
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/319430.html
標籤:
