У меня есть 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
Я работал над этой проблемой, перейдя в Project Settings- > Modules и вручную добавляя зависимости модулей между моими различными проектами до тех пор, пока все не построится. Достойный, но эффективный.
Я оставляю этот вопрос здесь, хотя, поскольку короткое определение org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER
все равно было бы полезно для меня.