it-roy-ru.com

Что такое org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER и как мне заставить его работать в IntelliJ?

У меня есть кодовая база Java, написанная с использованием Eclipse, с которой я пытаюсь работать в IntelliJ . Кодовая база состоит из около 20 Java-пакетов, построенных рядом друг с другом как отдельные проекты. (Существует около двадцати каталогов, каждый из которых содержит файлы .classpath и .project.) Они зависят друг от друга. Предположительно, все хорошо в Eclipse.

Я заставил IntelliJ импортировать их из формата сборки Eclipse. В основном это работает, за исключением того, что 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 все равно было бы полезно для меня.

14
W.P. McNeill

Вступление

Плагин IntelliJ IDEA Maven-2 интегрирует Maven-2 в IntelliJ IDEA.

Первый,

 enter image description here

Во-вторых,

 enter image description here

В третьих,

 enter image description here

Подобно плагину Ant, плагин Maven-2 позволяет выполнять цели (или фазы) и перенаправляет вывод (с подсветкой ошибок) в окно сообщения.

Installation

Доступно для IDEA 6.0 (до версии 1.1 и для IDEA 5.0) через встроенный менеджер подключаемых модулей IDEA или напрямую из {{ http://plugins.intellij.net/plugin/ ? id = 1166 }}.

Если вы загрузили плагин, просто извлеките содержимое бинарного архива в каталог IDEA плагина .. Извлеченная папка (idea-maven-plugin) содержит другую папку lib, в которой находятся все JAR-файлы.

Использование

Предполагая, что вы указали переменные окружения Java_HOME и M2_HOME, плагин должен быть готов к запуску без какой-либо дополнительной настройки . Если Java_HOME не определен, плагин использует внутренний JDK IDEA.

Если M2_HOME не определен, вы должны указать домашний каталог Maven-2 в диалоговых окнах конфигурации. Это изменение, начиная с версии 1.1 плагина.

До версии 1.1 Maven вызывался с помощью сценария запуска, предоставляемого при обычной установке Maven. Чтобы получить лучший доступ к работающему процессу Maven, Maven теперь вызывается напрямую, запуская Java-процесс. Это, например, позволяет завершить запущенный процесс Maven пользователем.

Настройка может быть выполнена двумя способами:

Либо с помощью настроек IDE, либо настроек проекта . Настройки проекта всегда имеют приоритет над настройками приложения!

Плагин не будет работать с версиями IDEA до 6.0! Плагин был протестирован под Windows и Linux. Он не был протестирован под Mac OS X.

Ссылка на ресурс:

  1. Maven 2 Интеграция
  2. Импорт зависимостей Maven в IntelliJ IDEA
2
SkyWalker

Я пришел к решению, которое работает для меня, но щедрость все еще открыта (потому что я не могу закрыть его: P) и пойдет к кому-то, кто может предоставить более подробное объяснение.

Решение: запустите mvn Eclipse:clean и mvn Eclipse:eclipse. Это заставляет maven очистить файл .classpath и перестроить его из файла pom.xml. Несколько загадочно, он больше не содержал страшную ссылку на org.Eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER.

Возможно, это устаревший тег/переменная в Eclipse.

0
Daniel Patrick