Подтвердить что ты не робот

Вход в классpath org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER не будет экспортироваться

Я получаю это предупреждение в Eclipse:

Вхождение в классpath org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER не будет экспортироваться или публиковаться. Runtime ClassNotFoundExceptions может привести к

После поиска я обнаружил, что мне нужен экспорт исправлений. Я сделал это.

Eclipse Java Build Path properties

Но это предупреждение сохраняется! Что еще можно сделать, чтобы исправить это? Спасибо.

4b9b3361

Ответ 1

Я пробовал оба варианта, но только то, что вам нужно:

  • Отметьте связанную запись rawpathpath как публикацию/экспорт зависимость
  • Исключить связанную исходную запись класса пути из набора потенциальных публикации/экспорта.

Если вы экспортируете зависимость, обновление конфигурации проекта через контекстное меню Maven → Update Project Configuration приведет к возврату предупреждения. В этом случае вам нужно вручную отредактировать файл .classpath:

<classpathentry kind="con" exported="true" path="org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>
</classpathentry>

Просто удалите атрибут exported="true" и подтвердите, обновив конфигурацию проекта.

Ответ 2

Вы можете щелкнуть правой кнопкой мыши по предупреждению, выбрать quickfix и выбрать один из следующих вариантов:

  • Отметьте связанную запись rawpathpath как зависимость публикации/экспорта.
  • Исключить связанную исходную запись пути класса из набора возможных зависимостей публикации/экспорта.

Поскольку вы не будете публиковать/экспортировать проект eclipse, его можно исключить. Но в любом случае это не имеет значения.

Пошаговые скриншоты:
http://publib.boulder.ibm.com/infocenter/radhelp/v8/index.jsp?topic=/com.ibm.javaee.doc/topics/tlooseclasspath.html

Ответ 3

У меня была та же проблема; он исчезает после включения

<packaging>war</packaging> 

в пом. Упаковки вообще не было.

Ответ 4

http://geertschuring.wordpress.com/2009/03/05/why-the-maven2_classpath_container-will-not-be-exported-or-published/

В некоторых случаях Eclipse представит вам следующее предупреждение:

Classpath entry org.maven.ide.eclipse.MAVEN2_CLASSPATH_CONTAINER will not be exported or published. Runtime ClassNotFoundExceptions may result.

Итак, разрешите это, сделайте следующее:

Open the properties of the project that generates this warning
Click on "Java Build Path"
Click on the tab "Order and Export"
Enable "Maven Dependencies"
Click on "Ok"
Open the "Problems" view
Select the warning we are trying to solve, and press "Ctrl-1″
Click on "Ok"

Теперь проблема решена. Это может занять некоторое время, прежде чем предупреждение исчезнет, ​​потому что проект нуждается в перестройке, прежде чем он уйдет.

Ответ 5

Я не смог решить проблему с quickfix в Eclipse Luna. Проблема исчезла после удаления гранта проекта "Динамический веб-модуль". В Windows → Настройки → Границы проекта.

enter image description here

P.S. Packaging as War также решила выпуск, но он был одобрен как JAR, и я был озадачен, почему некоторые проекты работали нормально, а некоторые - нет.

И, кстати, предупреждение было реальным. Это вызвало исключения ClassNotFoundExceptions на сервере, которые сделали его непригодным, когда другие проекты ссылаются на это.

Ответ 6

Просто щелкните правой кнопкой мыши по предупреждению и сделайте быстрое исправление

введите описание изображения здесь

Затем вы можете просмотреть изменения файла .classpath из исходного элемента управления

введите описание изображения здесь

Ответ 7

Большинство ответов, в том числе принятых в настоящее время, предоставляют временное решение этой проблемы: каждый раз, когда я выбираю Maven > Update Project... и оставляя параметр "Обновить конфигурацию проекта из pom.xml", предупреждение возвращается.

Однако после установки m2e-wtp - Maven Integration for WTP в Eclipse 4.5 (Mars) и выпуске Update Project... снова, оставив выбранную опцию, предупреждение (и результирующая ошибка) исчезло.

Ответ 8

У меня есть простой способ решить эту проблему:

  • Удалите проект из Eclipse.
  • В рабочее пространство, где расположен проект.
  • Удалить элементы, выбранные на следующем изображении. Просто оставьте src и pom.xml.

    введите описание изображения здесь

  • Повторно импортируйте проект в свой Eclipse.

Ответ 9

Ни один из ответов не помог в моем случае. Каждый раз, когда я обновляю проект, m2e удаляет запись из файла .classpath, который отключает предупреждения.

Я подал отчет об ошибке: https://bugs.eclipse.org/bugs/show_bug.cgi?id=537401

Ответ 10

Добавление в pom.xml:

<properties>
    <java.version>1.8</java.version>
</properties>

помог мне в этом случае, а также с динамическим веб-модулем и другими проблемами.

Ответ 11

Я тоже сталкивался с этой проблемой! Я считаю, что затмение добавляет одни и те же deps дважды. однажды в

Maven Зависимости

Группа и еще один в виде

M2_REPO/...

Вы должны удалить последний в

Свойства → Путь сборки Java → Библиотеки

за ошибку исчезнуть!

Ответ 12

Используя Eclipse Photon, приведенная ниже конфигурация устранила проблему для меня: " Window > Preferences > Maven > Java EE Integration > Enable Java EE Configuration

Обратите внимание, что я отключил эту опцию до получения предупреждающей Classpath entry org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER will not be exported

Все остальные параметры могут не проверяться, если они вам не нужны.

Предупреждение не появляется после обновления Maven.

Ответ 13

У меня возникла та же проблема после обновления моего JDK в проекте, и я решил ее, заменив мой файл .classpath на предыдущий. Я заметил следующие изменения в моем файле .classpath

    <attributes>
        <attribute name="maven.pomderived" value="true"/>
        <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
    </attributes>

Вторая строка отсутствовала в приведенном выше коде

<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>

Эта строка отсутствовала

    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8">
    <attributes>
        <attribute name="owner.project.facets" value="java"/>
    </attributes>
</classpathentry>

Эти строки были добавлены, поэтому я удалил их вручную, и все снова заработало.

Ответ 14

Окно, настройки, валидация, валидатор зависимостей классов, Снимите флажок с руководства и сборки

Как и большинство проверок затмения, этот сломан.

Ответ 15

Это типичная проблема с проектами maven, сконфигурированными в Eclipse, которые изменили ее конфигурацию или были сохранены ненадлежащим образом.

Обычно я редактирую файл .classpath и проверяю ссылки для пути сборки и т.д.

Итак, в вашем случае, я думаю, вам нужно удалить свой classpathentry с помощью ссылки org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER внутри.