簡體   English   中英

想法IntelliJ。 如何創建Maven項目。 那么pom.xml和.iml文件呢

[英]Idea IntelliJ. how creating maven project. what about pom.xml and .iml files

我剛開始使用Java,並創建了一個項目。 它的Maven項目(我還沒有使用過Maven)

所以我的項目有兩個模塊A和B。B依賴於A,而A依賴於來自遠程Maven存儲庫的模塊。 B也依賴於一些遠程倉庫。 它在Idea IntelliJ中可以正常工作,並且可以很好地構建jar。

但是afaik .iml文件特定於Idea IntelliJ。 pom.xml是Maven特有的。 當我檢查文件時,為什么所有對項目的重復操作都寫在.iml文件和.idea目錄中,而不是pom.xml(s)中

如果您想查看真實世界的源代碼,那么這里只是它的alpha項目,用於深入學習Java。 當我嘗試在travis-ci.org上構建項目時,它無法解決項目的依賴關系

梅格拉傑,

我在這里分叉了您的WebTrimmer存儲庫: https : //github.com/ajorpheus/WebTrimmer並修復了導致成功構建失敗的兩個問題:

  1. travisci失敗,因為您在lib文件夾中有三個jar,由於CI正在執行maven構建,因此CI無法使用它們。

    解決方法是刪除這三個jar,並在提交中引入相應的Maven依賴項。

  2. 在添加Maven依賴項時,需要按此處所述進行排除: 無法解析以下工件:javax.jms:jms:jar:1.1

  3. WebTrimmerUI依賴於其兄弟模塊WebTrimmerEngine中的類,因此需要相應的依賴項。

我已經將項目轉換為與IDE無關的純Maven項目。 通過上述更改,我可以從命令行構建項目,並希望travisci也應該能夠。

關於為什么在.iml中重復依賴項的問題---這不是CI作業失敗的原因。 該文件中的依賴關系是pom.xml中依賴關系的快照。 當用戶手動重新導入maven項目時,或當maven項目設置為“自動導入”時自動更新此快照。
正如彼得·勞里(Peter Lawrey)在上面的評論中提到的那樣,如果您向項目中添加一個jar,則maven不會知道它,它只會出現在.iml文件中。

通常,要搜索並添加Maven依賴項,以下內容始終對我有用https : //stackoverflow.com/a/10178586/325742

希望這可以幫助 !

您需要自己將依賴項添加到pom中。 .iml文件用於存儲當前正在處理的任何項目的項目特定設置。

擁有pom文件可以使您的Maven構建與IDE無關,而.iml文件則要求您具有IntelliJ。

您可以從正在使用的.iml文件和版本控制中排除它們。 您也可以直接通過IntelliJ通過打開pom.xml來打開現有的maven項目,並且IntelliJ可以自動導入pom文件中指定的所有內容並生成新的.iml文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM