簡體   English   中英

什么是org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER以及如何在IntelliJ中使其工作?

[英]What is org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER and how do I make it work in IntelliJ?

我有一個用Eclipse編寫的Java代碼庫,我試圖在IntelliJ中使用它。 代碼庫由大約20個Java包組成,它們彼此並行構建為單獨的項目。 (大約有20個目錄,每個目錄包含.classpath.project文件。)它們彼此依賴。 大概在Eclipse中一切都很好。

我從Eclipse構建格式中導入了IntelliJ。 除了Project Settings -> Modules -> Dependencies顯示許多項目對org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER具有未解決的依賴性之外,它似乎主要起作用。 這似乎來自.classpath文件中的以下條目:

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.nondependency" value=""/>
    </attributes>
</classpathentry>

具有此依賴關系的包不會在IntelliJ中生成,因為它們無法解析其他包的依賴關系。

我懷疑org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER是一些特定於Eclipse的技巧,不會轉換為不同的IDE,但我無法弄清楚到底發生了什么。

什么是org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER 我是否必須對使用它來使其在Eclipse外部工作的構建環境做任何特殊操作?

IntelliJ Ultimate 2016.1.2,Java 1.8.0_91,OS X 10.11.5


我通過進入項目設置 - >模塊並在我的各種項目之間手動添加模塊依賴項來解決這個問題,直到構建完所有內容。 繁瑣但有效。

我在這里留下這個問題,因為org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER的簡短定義對我來說仍然有用。

介紹

IntelliJ IDEA Maven-2插件將Maven-2集成到IntelliJ IDEA中。

第一,

在此輸入圖像描述

第二,

在此輸入圖像描述

第三,

在此輸入圖像描述

與Ant插件類似,Maven-2插件允許執行目標(或階段)並將輸出(帶有錯誤突出顯示)重定向到消息窗口。

安裝

通過IDEAs內置插件管理器或直接來自{{ http://plugins.intellij.net/plugin/?id=1166 }},可用於IDEA 6.0(直到版本1.1也適用於IDEA 5.0)。

如果您下載了插件,只需將二進制存檔的內容解壓縮到您的IDEA插件目錄中。 提取的文件夾(idea-maven-plugin)包含另一個文件夾lib,其中包含所有JAR。

用法

假設您已經指定了環境變量JAVA_HOME和M2_HOME,則插件應該可以在沒有任何進一步配置的情況下運行。 如果未定義JAVA_HOME,則插件使用內部IDEA JDK。

如果未定義M2_HOME,則必須在配置對話框中指定Maven-2的主目錄。 這是從插件版本1.1開始的更改。

在1.1版之前,Maven是通過普通Maven安裝提供的啟動腳本調用的。 為了更好地訪問正在運行的Maven進程,現在可以通過啟動Java進程直接調用Maven。 例如,這允許用戶終止正在運行的Maven過程。

配置可以通過兩種方式完成:

通過IDE設置或項目設置。 項目設置始終覆蓋應用程序設置!

該插件不適用於6.0之前的IDEA版本! 該插件在Windows和Linux下進行了測試。 它未在Mac OS X下測試過。

資源鏈接:

  1. Maven 2集成
  2. 在IntelliJ IDEA中導入Maven依賴項

我想出了一個適合我的解決方案,但賞金仍然是開放的(因為我無法關閉它:P)並且會找到能夠提供更詳細解釋的人。

解決方案:運行mvn eclipse:cleanmvn eclipse:eclipse 這會導致maven清除.classpath文件並從pom.xml重建它。 有點神秘,它不再包含對org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER的可怕引用。

也許這是Eclipse中不推薦使用的標記/變量。

暫無
暫無

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

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