4

概要:
「mvnwar:war」
の実行は、「次のアーティファクトを解決できませんでした:org.openid4java:openid4java:jar:0.9.6」などのエラーで失敗します。

私はMavenの初心者であるという事実にチョークで書きますが、openid4javaのWebサイトに、openid4javaのMavenセントラルにjarファイルがないことを示す他の人が投稿していることがわかります。

詳細:
openid4javaの最新バージョン(0.9.6.662)に含まれているSimple-OpenIDサンプルアプリを実行して、openid4javaに慣れようとしています。

Readmeによると、「このデモをビルドするにはapacheMaven2が必要です」。Readmeには、「mvn war:warタスクはwarファイルをコピーしてデプロイできるwarファイルを作成する必要がある」とも記載されています。

これまで、AntとMavent Ant Tasksを使用してきましたが、今日は弾丸を噛んでMaven3.0.3をインストールすると思いました。インストール手順に従い、「mvn--version」を正常に実行できるようになりました

「mvnwar: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リポジトリからjarファイルが欠落していますか?

4

5 に答える 5

4

<type>pom</type>pom.xmlに追加することで、この問題を解決することができました。このスレッドのOpenID4Javagoogleグループで答えを見つけました。

これがグーグルグループのスレッドが言ったことです:

つまり、pom.xmlのopenid4javaの依存関係セクションに「pom」を追加する必要があります。

   <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 / ....のタイプは、すべて「jar」ではなく「pom」です。jarファイルはopenid4java-nodepsにあり、openid4java-consumer /openid4java-server...に依存しています。

于 2011-07-03T15:27:08.903 に答える
1

原因:org.sonatype.aether.resolution.DependencyResolutionException:次のアーティファクトを解決できませんでした: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:org.openid4java:openid4java:jar:0.9.6が見つかりませんでした

これらのアーティファクトを含むプロジェクトにを追加するか<repository>、ローカルリポジトリにインストールする必要があります。

https://oss.sonatype.org/content/repositories/openid4java/(MavenHowToにあります)を試しください

于 2011-07-01T00:14:18.033 に答える
1

これは私がそれをコンパイルして実行させるためにしたことです:

  1. m2またはmaven中央リポジトリに移動します。
  2. org-> openID4java-> openID4java-> 0.9.6そしてopenid4java-0.9.6.pomファイルを編集し、jarがない依存関係にpomを追加します
  3. org-> openID4java-> openid4java-consumer-SampleConsumer-> 0.9.6そしてopenid4java-consumer-SampleConsumer-0.9.6.pomファイルを編集し、openId-consumerのアーティファクトにpomを追加します
  4. org-> openID4java-> openid4java-openid4java-server-SampleServer-> 0.9.6そしてopenid4java-server-SampleServer-0.9.6.pomファイルを編集し、openId-serverのアーティファクトにpomを追加します
  5. org-> openID4java-> openid4java-server-JdbcServerAssociationStore-0.9.6そしてpomファイルを開き、pomをopenID-serverアーティファクトに追加します。

Eclipseを融合し、プロジェクトとMavenを右クリックして、準備ができている依存関係を更新します。Mavenツールのユーザーは、直接コンパイルして、ロールする準備ができています。

于 2012-04-12T07:21:29.617 に答える
1

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" }
}
于 2012-05-21T02:57:55.593 に答える
0

openid4java-xxx次のように失敗したすべての依存関係に対してMavenインストールパッケージを実行しますか?

  1. openid4java-0.9.6ディレクトリ内でantビルドタスクを実行します

  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
    

そしてそれはそれをするべきです!

于 2012-08-08T11:44:02.553 に答える