2016-10-25 2 views
0

Я создал и запустить автономную программу Java, который регистрирует с помощью Log4j2 использованием SLF4J. Журналирование работало, как ожидалось.OpenShift, Log4j2 и Maven - Не удалось разрешить зависимости для проекта

Затем я добавил эту функцию в существующую (и работает) OpenShift Java веб-приложение, которое я развиваю в Eclipse IDE.

я добавил следующие зависимости для pom.xml

<dependency> 
     <groupId>org.slf4j</groupId> 
     <artifactId>slf4j-api</artifactId> 
     <version>1.7.21</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-core</artifactId> 
     <version>2.7</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-api</artifactId> 
     <version>2.7</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.logging.log4j</groupId> 
     <artifactId>log4j-slf4j-impl</artifactId> 
     <version>2.7</version> 
    </dependency> 

Я использовал простой конфигурационный файл log4j2.xml и добавлены некоторые протоколирования кода класса Java.

Я запустил веб-приложение локально, и журнал работал нормально.

Я переехал pom.xml и log4j2.xml к Гит Staging Area и сделал Commit и Нажмите. Обычно это нормально, и проблем нет.

На этот раз я получил следующее сообщение об ошибке в диалоговом окне консоли:

[ERROR] Failed to execute goal on project testdb: Could not resolve dependencies for project testdb:testdb:war:1.0: Failure to find org.apache.logging.log4j:log4j-api:jar:2.7 in http://maven.repository.redhat.com/techpreview/all was cached in the local repository, resolution will not be reattempted until the update interval of eap has elapsed or updates are forced -> [Help 1] 

Это, кажется, говорит, что log4j-апи версии 2.7 не доступен в RedHat Maven Repository. Но я, конечно, не первый человек, который сделал это, поэтому я подозреваю, что есть некоторая основная ошибка.

Любые идеи? Любая помощь будет очень благодарна ...

ответ

0

Надеюсь, что это своевременно и полезно. Мне удалось принудительно обновить и решить эту проблему, удалив недопустимую локальную кешированную зависимость в ~/.m2/repository/path/to/your/dependency в OpenShift, а затем инициировав другой git push для запуска сборки maven.

+1

Во-первых, спасибо Джорджу и Клаудио за ваши предложения. Как это случилось, я просто сделал еще один Commit и Push на следующий день, и это было успешным. Проблема, по-видимому, была ошибкой OpenShift. Я верю, что предложение Джорджа имеет хорошие шансы на работу и принуждение Maven к созданию. – Lyndon

0

У меня ТАКАЯ ПРОБЛЕМА с репозиторием RedHat Maven по моему текущему проекту.

Чтобы исключить все возможные проблемы из-за кода моего текущего проекта, я создал новый проект и применил к нему небольшое обновление файла index.html (я просто добавил пробельный символ). Затем, после «мерзавца толчка» команды, я получил ту же ошибку на удаленном этапе сборки, но на этот раз с загрузкой основных плагин мавенны-чистые плагиными:

remote: [ERROR] Plugin org.apache.maven.plugins:maven-clean-plugin:2.4.1 
or one of its dependencies could not be resolved: Failed to read artifact 
descriptor for org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1: 
Failure to find org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1 in 
http://mirror.ops.rhcloud.com/nexus/content/groups/public was cached in the 
local repository, resolution will not be reattempted until the update 
interval of nexus has elapsed or updates are forced -> [Help 1] 

Это ясно что платформа OPENHIFT имела некоторые проблемы с сегодняшнего дня.

0

Вчера я попробовал это, и это работает для меня:

Создайте пустой файл с именем force_clean_build внутри приложения .openshift каталога/маркеров.Зафиксируйте файл и нажмите изменения. Это удалит репозиторий .m2 и снова загрузит все зависимости и плагины.

Смежные вопросы