我在Github上使用一個公共maven倉庫來部署我的開源java項目的新版本。該項目可以在兩個不同的版本中構建,這些版本由pom.xml中的配置文件配置定義。當我部署我的工件時,默認構建將上傳到存儲庫。 根據具有相同Maven版本號的不同配置文件,是否可以部署不同的Maven版本?或者是否有一個概念或最佳實踐,說明如何根據所選配置文件使用不同的Maven工件版本號?如何根據配置文件部署Maven工件?
回答
不是100%確定你在問什麼,但是將分類器與你的工件關聯起來可能就是你要找的東西。舉例來說,如果你需要一個「刺」,並以不同的配置「舞臺」的神器,你會做這樣的事情:
<profiles>
<profile>
<id>stage</id>
<build>
<plugins>
.
.
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>jar</goal>
</goals>
<configuration>
<classifier>stage</classifier>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</profile>
運行你的「舞臺」曲線會給你一個「 - 工段的」神器。雖然我認爲通常有更好的方法可以做到這一點,但使用profiles到build for different environments的情況並不罕見。這是你想要做的嗎?
是的,這是我在找什麼。我使用休息服務構建War-Templates。根據目標平臺(Glassfish,Wildfly),我需要配置不同的JAX-RS impl(球衣,RestEasy)。這就是爲什麼我想在一個版本 – Ralph
Gotcha中提供不同的工件。因此,如果您正在構建.wars,那麼爲什麼不將您的應用程序源碼打包爲.jar,併爲每個目標平臺使用各自的描述符/資源來使用不同的模塊?這將會是一種更爲實用的方法(每個模塊有1個工件),並且在單個模塊中不會有龐大的pom.xml。 – JoshC13
但JAX-RS配置的不同之處在於web.xml文件本身。我認爲沒有其他辦法可以爲每個平臺建立不同的戰爭模塊? – Ralph
- 1. 根據配置文件更改已部署的工件名稱
- 2. Maven Tomcat部署插件與配置文件
- 3. 根據配置從Visual Studio部署項目中排除文件
- 4. 如何根據maven配置文件命中特定的REST URL?
- 5. ClickOnce配置部署 - 配置文件
- 6. Maven根據配置文件更改文件中的值
- 7. 部署具有多個配置文件依賴項的maven工件
- 8. Maven部署到文件夾
- 9. Maven - 根據配置文件運行一次插件
- 10. Maven:根據配置文件使用插件
- 11. Maven。只構建部署配置文件的模塊
- 12. Maven:創建配置文件以部署快照
- 13. 選擇多個配置文件時不會部署wildfly-maven-plugin
- 14. 在Maven中,如何根據特定配置文件運行插件
- 15. 使用Maven的外部配置文件
- 16. 加密配置文件進行部署
- 17. GIt部署+配置文件+ Heroku
- 18. 從VSPackage部署配置文件?
- 19. 將配置文件部署到wss
- 20. 部署帶配置的WAR文件
- 21. 使用ClickOnce部署的配置文件
- 22. 更改配置文件/部署時間
- 23. Maven - 根據配置文件從父POM調用模塊
- 24. Maven 2根據配置文件替換類實現嗎?
- 25. Maven:根據localRepository屬性激活配置文件?
- 26. 如何禁用maven配置文件?
- 27. 如何使用Maven配置文件?
- 28. 如何將工件從Maven構建部署到SourceForge文件發佈系統?
- 29. maven日誌文件配置
- 30. Maven配置文件執行
「取決於所選配置文件的不同版本的Maven工件?」。這沒有意義。這違背了版本的概念。這聽起來像是你想用分類器部署多個工件。使用相同的版本。 – Tunaki