我有很多配置文件的值必須改變。我想知道是否有人運行「包」命令可以請求一些值並將其插入到我的項目文件中?Maven可以向用戶詢問值並將它們輸入到文件中?
1
A
回答
0
您可以使用maven -P
來選擇一個maven配置文件,然後選擇它的屬性文件。
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<resource.prefix>dev</resource.prefix>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<resource.prefix>prod</resource.prefix>
</properties>
</profile>
</profiles>
現在訪問您的資源文件${resource.prefix}_config.properties
。所以當配置文件生成時,將會採用資源文件prod_config.properties
。
1
對於90%的構建任務,有Maven。對於其他一切,有maven-antrun-plugin。
我建議創建一個自定義的Ant腳本(可以嵌入在你pom.xml
),提示用戶輸入並寫出使用Ant Input Task
3
更好的方法你的配置文件會被具有根據不同的屬性/ config文件環境。
- PROD
- 開發
保住二組值在兩個不同的文件。有時指定文件名稱。
0
除非你做了一些由noahz建議的螞蟻東西,否則你不能真正讓maven提示輸入。
如果你不想玩弄Profiles,你可以做什麼,就是在你的pom文件中使用屬性。
例子:
<project>
<groupId>abc</groupId>
<artifactId>def</artifactId>
<version>1.0-SNAPSHOT</version>
<properties>
<myProperty>someValue</myProperty>
</properties>
<build>
<plugins>
<plugin>
...
<configuration>
<outputDir>${myProperty}</outputDir>
</configuration>
</plugin>
</plugins>
</build>
</project>
,無論你想在POM文件中您可以使用性質和過濾資源時,你甚至可以使用屬性。
屬性可以默認是空的,然後有命令行設置一個新值:
mvn package -DmyProperty=anotherValue
而且anotherValue
將傳播到哪裏它在POM使用。
你可以閱讀關於Maven Resource Filtering here。
如果你把一個文件src/main/resources
這可能與上述屬性進行過濾:
src/main/resources/important-stuff.properties
some.nice.property = Nice!
some.variable.property = ${myProperty}
,這應該被添加到POM:
<build>
...
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
...
</build>
的過濾important-stuff.properties
最終會在target/classes
和jar中看起來像這樣:
some.nice.property = Nice!
some.variable.property = anotherValue
資源過濾真的很方便。
相關問題
- 1. 可以將值從maven注入到persistence.xml文件中嗎?
- 2. Swift 3,從ViewControler訪問用戶輸入的文本字段值,並在模型中使用它們.swift文件
- 3. gzip幾個文件,並將它們管入一個輸入
- 4. SSRS是否可以將用戶輸入合併到報告中?
- 5. 把用戶輸入並把它放到Python中的文件?
- 6. 如何輸入值,將它們保存到新文件並搜索文件中的值
- 7. 在矩陣中查找值並將它們放入向量中
- 8. 我們可以將批處理文件的輸出重定向到pdf文件
- 9. 循環訪問目錄中的CSV文件並將它們插入到Access中
- 10. maven從用戶讀取文件輸入
- 11. 我可以將HTML文件存儲在drawable folde中,並將它們用於webview
- 12. 如何向用戶詢問輸入文件名,然後使用該文件名?
- 13. Jquery在輸入文本中預加載值並更新它們
- 14. 檢測文件中的更改並將它們寫入文件
- 15. 計算列的值並將它們寫入excel文件
- 16. 提示用戶輸入五個人的體重。然後將它們存儲在Array中並輸出它們
- 17. VB .frm文件,可以將它們導入到C#項目中嗎?
- 18. adldap2-laravel可以看到AD用戶,但不會導入它們
- 19. 從.txt文件中讀取並將值輸入到多維向量中
- 20. 設置變量並將它們用於查詢中的輸出
- 21. 如何向用戶詢問python中的輸出文件
- 22. 從dataGridView獲取列值並將它們附加到hosts文件?
- 23. Python 3.5,在一組中查找用戶輸入的值並顯示它們
- 24. 以隨機順序輸入字符串並將它們打印
- 25. 用戶輸入到文件
- 26. 是否可以定義const值並且要求用戶輸入它?
- 27. 如何將輸入到用戶名字段中的文本複製到密碼字段,以便它們相同?
- 28. 如何將xml文件嵌入到java包中並訪問它?
- 29. Python--調用幾個進程並向它們發送輸入
- 30. 在用戶輸入後將輸出重定向到文本文件
取決於用例 - 是的,這是多少Maven項目完成。您還可以將值直接放入您的pom.xml中作爲由配置文件激活並過濾到配置文件中的屬性。 – noahlz