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

Ошибка в Eclipse о типе, косвенно ссылающемся на требуемый файл .class

У меня есть это исключение с некоторыми заглушками, сгенерированными Axis2:

"Тип org.apache.axiom.om.OMElement не может быть разрешен. косвенно ссылаются на требуемые файлы .class"

Я читал много сообщений и пытался найти решение. До сих пор я нашел добавление библиотеки apache tomcat 5.5 в путь сборки. Он удалил ошибку в java файле, но затем, когда я выполнил любую Java-программу внутри проекта, я получил эту ошибку:

"Запуск myApp" столкнулся с проблемой: произошло исключение выполнение командной строки. Не удается запустить программу "C:\Program Файлы \Java\jdk1.5.0_22\bin\javaw.exe" (в каталоге "D:\Digicel\workspace\Digicel\myClassSample" ): Ошибка CreateProcess = 87, Неверный параметр

то, если я удалю библиотеку apache tomcat из пути сборки, я могу запустить другие java-программы, но не тот, который первоначально упоминался.

Любые мысли об этом?

4b9b3361

Ответ 1

Хорошо, я нашел причину проблемы с помощью друга:)

Дело в том, что Eclipse знает, что одна из моих зависимостей зависит от другой библиотеки, а Eclipse проверяет ее, когда пытается создать код.

Итак, я попытался проверить, какой файл jar содержит эту библиотеку: "org.apache.axiom.om.OMElement".

Я искал ее и обнаружил, что это "axiom-api-1.2.10.jar", и, наконец, мой файл скомпилирован с ошибками 0.

Он также объяснил мне, что мое первоначальное решение по добавлению библиотеки сервера Tomcat Tomcat добавляет все банки, которые содержат имена с apache tomcat (который является большим списком), и, возможно, конфликт с моим текущим списком мог быть добавленных банок.

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

Ответ 2

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

Если это так, удалив локальный репозиторий maven для загрузки свежих файлов jar, вы устраните проблему:

rm -Rf ~/.m2/repository/{enter/path/to/broken/stuff}