Зависимости Maven недоступны в Java

У меня есть проект, управляемый Maven, который я пытаюсь заставить работать в Eclipse. Проблема в том, что все зависимости, которыми управляет Maven, недоступны внутри кода Java.

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

The type org.apache.commons.math3.util.Pair is not accessible

в то время как когда я пытаюсь построить проект с помощью Maven, я получаю сообщение об ошибке:

package org.apache.commons.math3.util is not visible (package org.apache.commons.math3.util is declared in the unnamed module, but module org.apache.commons.math3.util does not read it)

Зависимости были загружены Maven, и я могу найти их в папке .m2. Я даже вижу файлы jar, глядя на путь сборки Java в Eclipse.

Я также получаю ту же ошибку, когда пытаюсь использовать Maven через командную строку.

Кто-нибудь знает, почему это может происходить?

Попробуйте выполнить команду mvn eclipse:eclipse. А также очистите и обновите свой проект в eclipse.

robot_alien 14.05.2019 13:51

Очистите проект, а затем щелкните правой кнопкой мыши проект, перейдите в Maven -> Обновить проект. мне это должно помочь.

IllegalSkillsException 14.05.2019 14:03

Можете ли вы опубликовать свой pom.xml? Также вы пытались удалить весь репозиторий maven?

Andreas Hartmann 14.05.2019 14:26

@AndreasHartmann Я пытался удалить весь репозиторий, но это не помогло. Вот pom.xml: github.com/NetCal/DNC/blob/master/pom.xml

mius 14.05.2019 14:34

Я полагаю, у вас есть module-info.java в вашем проекте?

khmarbaise 14.05.2019 15:54

Если он не основан на командной строке Maven или в Eclipse, вероятно, существует какая-то проблема с путем к классам. Ошибка предполагает, что код пытается получить доступ к чему-то, что не является общедоступным. Попробуйте mvn dependency:tree (или аналог Eclipse). Внимательно следите за всем использованием библиотеки Commons Math, чтобы убедиться, что версии непротиворечивы. Если нет, то с чего начать исправлять.

user944849 14.05.2019 15:57
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
3
6
1 596
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

однажды это случилось и со мной. Похоже, проблема с разрешением в моем случае или проблема с дисковым пространством. Также попробуйте удалить зависимость с диска и снова запустить mvn clean install. Убедитесь, что вы используете актуальную версию maven, и выполните ALT+F5 + принудительное обновление зависимостей maven.

К сожалению, это не решило проблему, и это определенно не проблема с дисковым пространством.

mius 14.05.2019 14:16

Можете ли вы поделиться кодом или его частью, чтобы я мог протестировать?

fbcyborg 14.05.2019 16:33

Также попробуйте добавить связанную банку в путь сборки в качестве первой попытки. Также проверьте свой файл .classpath. Мой содержит что-то вроде этого, а не все зависимости: ` <classpathentry kind = "con" path = "org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <attributes> <attribute name = "maven.pomderived" value = "true"/> </атрибуты> </classpathentry> `

fbcyborg 14.05.2019 16:37
Ответ принят как подходящий

Мне удалось это исправить. Я не знаю почему, но, не создавая файл module-info.java, когда меня спросило eclipse, все работало нормально.

У меня был неполный файл module-info.java: его удаление устранило мои проблемы. Я предполагаю, что правильная настройка также сработала бы, но мне нужно понимать файлы модулей.

Другие вопросы по теме