私はpom.xmlでonejar-maven-pluginを使用しようとしています:
<plugin>
<groupId>org.dstovall</groupId>
<artifactId>onejar-maven-plugin</artifactId>
<version>1.4.4</version>
<executions>
<execution>
<configuration>
<mainClass>com.exmaple.myproj.MpPort_MpSoapPort_Client</mainClass>
<onejarVersion>0.97</onejarVersion>
<attachToBuild>true</attachToBuild>
<classifier>onejar</classifier>
</configuration>
<goals>
<goal>one-jar</goal>
</goals>
</execution>
</executions>
</plugin>
<pluginRepositories>
<pluginRepository>
<id>onejar-maven-plugin.googlecode.com</id>
<url>http://onejar-maven-plugin.googlecode.com/svn/mavenrepo</url>
</pluginRepository>
</pluginRepositories>
しかし、何らかの理由で、Eclipse Mavenプラグイン(Mavenインストール)を介してビルドしようとすると、ビルドエラーが発生します。
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: org.dstovall:onejar-maven-plugin
Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository
org.dstovall:onejar-maven-plugin:pom:1.4.4
from the specified remote repositories:
Nexus (https://mynexus.example.com/nexus/content/repositories/central)
for project org.dstovall:onejar-maven-plugin
したがって、手動で onejar-maven-plugin.jar をダウンロードし、コマンドラインからインストールすると、同様のエラーが発生しているようです:
C:\Users\daniel\myproj>mvn install:install-file -Dfile=onejar-maven-plugin-1.4.4.jar -DgroupId=com.jolira -DartifactId=onejar-maven-plugin -Dversion=1.4.4 -Dpackaging=jar
[INFO] Scanning for projects...
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository onejar-maven-plugin.googlecode.com (http://onejar-maven-plugin.googlecode.com/svn/mavenrepo)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
Downloading: https://mynexus.example.com/nexus/content/repositories/central/org/dstovall/onejar-maven-plugin/1.4.4/onejar-maven-plugin-1.4.4.pom
[INFO] Unable to find resource 'org.dstovall:onejar-maven-plugin:pom:1.4.4' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).
Project ID: org.dstovall:onejar-maven-plugin
Reason: POM 'org.dstovall:onejar-maven-plugin' not found in repository: Unable to download the artifact from any repository
org.dstovall:onejar-maven-plugin:pom:1.4.4
from the specified remote repositories:
Nexus (https://mynexus.example.com/nexus/content/repositories/central)
for project org.dstovall:onejar-maven-plugin
私の理解では、その特定のアーティファクトを含まないNexusミラーがあるため、物事は混乱するということです。
Sonatype Nexusを強制的に再生成/メタデータのインデックスを再作成する方法 の指示に従ってみましたが、「インデックスの参照」タブにはそのようなコンテキストメニューがありません!Sonatype Nexusで。
here 「Nexusはクライアントがリクエストしたアーティファクトのみをキャッシュします。そのため、適切なバージョンをリクエストするためにプロジェクトpomsを設定する必要があります」と読みます。しかし、それはまさに私がやってきたことです-結果に変化はありません。
この「鶏と卵」の状況から抜け出し、このonejar-maven-plugin verを取得するにはどうすればよいですか。 1.4.4ネクサスミラーに?
(または、ローカルの.m2キャッシュに取得する方法はありますか?)
ローカルリポジトリに-Uで使用できないアーティファクトに関するメタデータが含まれている場合でも、Mavenに更新と依存関係の要求を強制させることができます。
mvn clean install -U
動作するはずです。
また、settings.xml
を変更して、中央リポジトリだけでなくパブリックグループを直接指すようにする必要があります。より多くを見つけることができます Nexusの本で 。
中央リポジトリには、使用しようとしているonejar
プラグインがないことに注意してください。 検索結果 を確認し、groupId
がcom.joilira
ではなくorg.dstovall
である方法を確認します
org.dstovall
からonejar
プラグインを本当に使用したい場合は、URLを追加する必要があります http://onejar-maven-plugin.googlecode.com/svn/mavenrepo/ Nexusへのプロキシリポジトリとして、パブリックグループに追加し、settings.xml
でパブリックグループを使用します