Maven "Не удалось разрешить зависимости" для openid4java

Резюме:
Запуск mvn war: war завершается с ошибками, в том числе:
Msgstr "Не удалось разрешить следующие артефакты: org.openid4java:openid4java:jar:0.9.6".

Я бы связал это с тем фактом, что я новичок Maven, но я вижу, что другие люди разместили на веб-сайте openid4java сообщение о том , что в центральном Maven для openid4java отсутствуют фляги.

Подробности:
Я пытаюсь освоиться с openid4java, запустив пример приложения Simple-OpenID, которое включено в последнюю версию openid4java (0.9.6.662).

В соответствии с файлом Readme " Для создания этой демоверсии требуется Apache Maven2". В файле Readme также говорится: "Задача mvn war: war должна создать файл войны, который можно развернуть, скопировав файл войны".

До сих пор я работал с Ant и Mavent Ant Tasks, но решил, что сегодня укушу пулю и установлю Maven 3.0.3. Я следовал инструкциям по установке и теперь могу успешно запустить "mvn --version"

Когда я запускаю "mvn war: war", некоторые файлы действительно загружаются в мой локальный репозиторий, но в конечном итоге сборка завершается неудачно со следующим выдержанным сообщением:

[ERROR] Failed to execute goal on project simple-openid: Could not resolve dependencies for project org.openid4java:simple-openid:war:0.9.6: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure to find org.openid4java:openid4java:jar:0.9.6 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal on project simple-openid: Could not resolve dependencies for project org.openid4java:simple-openid:war:0.9.6: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure to find org.openid4java:openid4java:jar:0.9.6 in http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced
    at org.apache.maven.lifecycle.internal.LifecycleDependencyResolver.getDependencies(LifecycleDependencyResolver.java:196)

Caused by: org.apache.maven.project.DependencyResolutionException: Could not resolve dependencies for project org.openid4java:simple-openid:war:0.9.6: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure 

Caused by: org.sonatype.aether.resolution.DependencyResolutionException: The following artifacts could not be resolved: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openid4java:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java:openid4java-server-SampleServer:jar:0.9.6: Failure to find org.openid4java:openid4java:jar:0.9.6 in 

Я что-то здесь не так делаю или банки вообще не хватает в репозитории Maven?

5 ответов

Решение

Я смог решить эту проблему, добавив <type>pom</type> в pom.xml. Я нашел ответ в гугл-группе OpenID4Java в этой теме.

Вот что говорит нить в группе Google:

Я имею в виду, что вы должны добавить "pom" в раздел зависимостей openid4java в вашем pom.xml:

   <dependency>
         <groupId>org.openid4java</groupId>
         <artifactId>openid4java-consumer</artifactId>
         <!--artifactId>openid4java-server</artifactId-->
         <!--artifactId>openid4java-infocard</artifactId-->
         <!--artifactId>openid4java-xri</artifactId-->
         <!--artifactId>openid4java</artifactId-->
         <!--artifactId>openid4java-full</artifactId-->
         <version>0.9.6</version>
         <type>pom</type> <-----------------------This line can not be omitted.
    </dependency>

Тип openid4java-consumer/openid4java-server/.... все это "pom", а не "jar". Файл jar находится в openid4java-nodeps, который зависит от openid4java-consumer/openid4java-server...

Вызывается: org.sonatype.aether.resolution.DependencyResolutionException: не удалось разрешить следующие артефакты: org.openid4java:openid4java:jar:0.9.6, org.openid4java:openid4java-consumer:jar:0.9.6, org.openidj:openid4java-server:jar:0.9.6, org.openid4java:openid4java-server-JdbcServerAssociationStore:jar:0.9.6, org.openid4java:openid4java-consumer-SampleConsumer:jar:0.9.6, org.openid4java -SampleServer:jar:0.9.6: ошибка при поиске org.openid4java:openid4java:jar:0.9.6 in

Вам нужно либо добавить <repository> в ваш проект, содержащий эти артефакты, или установите их в свой локальный репозиторий.

Попробуйте https://oss.sonatype.org/content/repositories/openid4java/ (находится на MavenHowTo)

Другой способ разрешить зависимость в Grails - добавить репозиторий maven "https://oss.sonatype.org/content/repositories/openid4java/" и указать в качестве артефакта "openid4java-nodeps".

repositories {
    grailsPlugins()
    grailsHome()
    grailsCentral()
    mavenCentral()      
    mavenRepo "https://oss.sonatype.org/content/repositories/openid4java/"
}

dependencies {
    runtime('mysql:mysql-connector-java:5.1.19',
            'org.apache.httpcomponents:httpclient:4.2',
            'org.openid4java:openid4java-nodeps:0.9.6') { excludes "xml-apis" }
}

Вот что я сделал, чтобы он скомпилировался и запустился:

  1. Зайдите в свой m2 или maven центральный репозиторий,
  2. org-> openID4java-> openID4java-> 0.9.6 и отредактируйте файл openid4java-0.9.6.pom и добавьте pom к зависимостям, не имеющим jar
  3. org-> openID4java-> openid4java-consumer-SampleConsumer-> 0.9.6 и отредактируйте файл openid4java-consumer-SampleConsumer-0.9.6.pom и добавьте pom к артефакту openId-consumer
  4. org-> openID4java-> openid4java-openid4java-server-SampleServer-> 0.9.6 и отредактируйте файл openid4java-server-SampleServer-0.9.6.pom и добавьте pom к артефакту сервера openId-server
  5. org-> openID4java-> openid4java-server-JdbcServerAssociationStore-0.9.6, откройте файл pom и добавьте pom к артефакту сервера openID.

слияние Eclipse, затем щелкните правой кнопкой мыши проект и maven и обновите зависимость, которую вы готовы использовать, для пользователя инструмента maven, скомпилируйте напрямую, и вы готовы к работе

Устанавливаем ли maven пакет для каждой зависимости openid4java-xxx не удалось как фоллов

  1. запустите задачу сборки муравья внутри вашего openid4java-0.9.6 каталог

  2. затем выполните:

    mvn install:install-file -DgroupId=org.openid4java -DartifactId=openid4java-consumer -Dversion=0.9.6 -Dpackaging=jar -Dfile=<<change_this_path_to>>build\openid4java.jar
    
    mvn install:install-file -DgroupId=org.openid4java -DartifactId=openid4java-server -Dversion=0.9.6 -Dpackaging=jar -Dfile=<<change_this_path_to>>build\openid4java.jar
    
    mvn install:install-file -DgroupId=org.openid4java -DartifactId=openid4java-server-JdbcServerAssociationStore -Dversion=0.9.6 -Dpackaging=jar -Dfile=<<change_this_path_to>>build\openid4java.jar
    
    mvn install:install-file -DgroupId=org.openid4java -DartifactId=openid4java-consumer-SampleConsumer -Dversion=0.9.6 -Dpackaging=jar -Dfile=<<change_this_path_to>>build\openid4java.jar
    
    mvn install:install-file -DgroupId=org.openid4java -DartifactId=openid4java-server-SampleServer -Dversion=0.9.6 -Dpackaging=jar -Dfile=<<change_this_path_to>>build\openid4java.jar
    

И это должно сделать это!

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