Когда я открываю файл POM и нажимаю на вкладку "Иерархия зависимостей" внизу, он дает мне ошибку "Ошибка чтения проекта". Он работает с другими проектами в одном и том же рабочем пространстве, просто не с этим. Любые идеи?
ИЗМЕНИТЬ
В ответ на ответ @Yhn.
- Запуск фаз компиляции и пакета вне Eclipse из командной строки, как и ожидалось. Он компилирует приложение и создает окончательный файл WAR.
- Eclipse действительно указывает на местоположение по умолчанию файла настроек Maven settings.xml, поэтому он должен знать о настраиваемых репозиториях, которые определены в нем (у моей компании есть собственный репозиторий Maven).
- Я могу открыть и отредактировать POM файл из Eclipse, поэтому он должен иметь права на чтение/запись в файл.
- Проект не настроен в Eclipse как проект Maven, поэтому я не могу запустить фазу пакета из Eclipse (я могу запустить его только из командной строки).
Интересно, связано ли это с тем, что мне не удалось создать проект с помощью Maven 3, потому что, по-видимому, некоторые из транзитивных зависимостей настроены для Maven 1, который Maven 3 не поддерживает (в любом случае это моя теория, основанная на некоторых сообщениях об ошибках). Я могу создать проект с Maven 2, но я все равно получаю такие сообщения, как:
Downloading: http://dist.codehaus.org/mule/dependencies/maven2/org/codehaus/xfie/bcprov-jdk14/133/bcprov-jdk14-133.pom
[INFO] Unable to find resource 'org.codehaus.xfire:bcprov-jdk14:pom:133' in repsitory mule (http://dist.codehaus.org/mule/dependencies/maven2)
Он должен уметь находить эти зависимости, потому что он загрузил JAR только отлично и может создать приложение. Похоже, проблема заключается в том, что в зависимостях нет связанных с ними файлов POM, поэтому возможно, что они не могут использоваться с Maven 3. Это также может быть связано с тем, что я не могу просмотреть иерархию зависимостей в Eclipse.
РЕДАКТИРОВАТЬ 2
Я преобразовал проект в проект Maven, перейдя в "Настроить > Преобразовать в проект Maven". Когда я открываю файл POM, я вижу ошибку:
ArtifactDescriptorException: Failed to read artifact descriptor for woodstox:wst (Click for 140 more)
(woodstox: wst - другая транзитная зависимость проекта). В представлении "Маркеры" появляется ошибка в отношении кажущейся зависимости и переходной зависимости в моем проекте. Тем не менее, я могу успешно построить проект, выполнив "Запуск As > Maven build". ( Изменить: Возможно, это связано с тем, что в этом проекте нет исходного кода Java, но JARs зависимостей правильно отображаются в последней WAR.) Иерархия зависимостей по-прежнему дает ту же ошибку - "Ошибка чтения проекта".
О сообщениях "Невозможно найти ресурс" - но это появляется только для нескольких транзитивных зависимостей. Проект имеет гораздо больше транзитивных зависимостей, но эти сообщения не появляются для них. Похоже, поскольку в зависимостях нет файлов POM, Maven пытается их искать каждый раз, когда проект построен. Это нормально, чтобы не иметь POMs?
Как я могу получить репо-менеджера? Это что-то, что нужно было бы установить в репозитории компании Maven или вы можете установить его на свою рабочую станцию?