在我的Maven構建中,我希望能夠在pom.xml中定義默認值(例如用於數據庫連接),但我希望用戶能夠覆蓋這些值而不必修改pom.xml
直。作爲示例,在Ant版本中,您可以在foo.properties
中定義默認屬性,但是Ant將在foo.$USERNAME.properties
中查找其中每個屬性的替代。後者通常不會被檢入到源代碼控制中,從而消除了開發人員意外提交覆蓋默認屬性的問題。 Maven是否提供類似的設施?每個用戶Maven屬性
爲了使問題更具體一點,假設我有以下的pom.xml
<properties>
<db.url>jdbc:jtds:sqlserver://10.10.10.10:1433/somedb</db.url>
<db.driver>net.sourceforge.jtds.jdbc.Driver</db.driver>
<db.username>default_user</db.username>
<db.password>secret</db.password>
</properties>
定義的用戶可以覆蓋這些屬性,而無需直接編輯pom.xml的?
+1 settings.xml文件是用戶的本地文件 - 這種事最好的地方 – Qwerky
看起來我可以通過在'settings.xml'中定義一個''配置文件來實現這一點,該配置文件包含壓倒一切的財產價值,是嗎? –
如果在構建時完全指定_any_配置文件,您可以但是知道activeByDefault配置文件未被選中。我只是把它們放在POM的普通屬性部分,如果我是你,並讓用戶覆蓋它們。 – artbristol