2

私はmavenを初めて使用し、会社の内部(アーカイブ)リポジトリで作成および公開したプラグインでいくつかの問題に直面しています。

私が見ることができるように、プラグインの構築と公開は、レポのURLで機能しているようです。

  • レポディレクトリが作成されます
  • ディレクトリには以下が含まれます:
    • pom 、 pom.sh1 、 pom.md5 ファイル
    • jar 、 jar.sh1 、 jar.md5 ファイル

プラグインの pom.xml ファイルで、内部リポジトリの URL を参照しました。

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.myorg</groupId>
  <artifactId>myorg-build-info-plugin</artifactId>
  <packaging>maven-plugin</packaging>
  <version>1.0.0</version>
  <name>myorg-build-info-plugin Maven Mojo</name>
  <url>labserver.myorg-domain.com:8380/archiva/repository/internal</url>
....

10 別の pom.xml でこのプラグインを参照します。

<plugin>
          <groupId>com.morg</groupId>
          <artifactId>myorg-build-info-plugin</artifactId>
          <version>1.0.0</version>
...

そして、同じ pom.xml で内部リポジトリを提供します。

<repositories>
        <repository>
            <id>myorg-repo</id>
            <name>Repository for Myorg Artifacts</name>
            <url>http://labserver.myorg-domain.com:8380/archiva/repository/internal</url>
            <layout>default</layout>
        </repository>

最後に、そのpomファイルでmaven clean操作を実行すると(mvn clean -eを実行)、次のエラーが発生しました:

+ Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building com.myorg.projectname
[INFO]    task-segment: [clean]
[INFO] ------------------------------------------------------------------------
Downloading: http://repo1.maven.org/maven2/com/myorg/myorg-build-info-plugin/1.0.0/myorg-build-info-plugin-1.0.0.pom
[INFO] Unable to find resource 'com.myorg:myorg-build-info-plugin:pom:1.0.0' in repository central (http://repo1.maven.org/maven2)
Downloading: http://labserver.myorg-domain.com:8380/archiva/repository/internal/com/myorg/myorg-build-info-plugin/1.0.0/myorg-build-info-plugin-1.0.0.pom
1K downloaded  (myorg-build-info-plugin-1.0.0.pom)
Downloading: http://repo1.maven.org/maven2/com/myorg/myorg-build-info-plugin/1.0.0/myorg-build-info-plugin-1.0.0.jar
[INFO] Unable to find resource 'com.myorg:myorg-build-info-plugin:maven-plugin:1.0.0' in repository central (http://repo1.maven.org/maven2)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] A required plugin was not found: Plugin could not be found - check that the goal name is correct: Unable to download the artifact from any repository

Try downloading the file manually from the project website.

Then, install it using the command: 
...

今私が見ることができるものから:

  • 内部リポジトリから pom ファイルが正しく取得されている
  • http://repo1.maven.org/maven2から取得しようとしているため、jar ファイルの取得に失敗します 。

すべてのリポジトリ、特にファイルで宣言されている内部リポジトリがスキャンされることを期待しています。

明らかにそうではありません。

ですから、なぜこれが起こっているのかについての手がかりを誰かが持っているなら、私は本当に助けていただければ幸いです!

ティア、

PS:JDK 1.6.029でdebianにmaven 2.2.1を使用しています

4

1 に答える 1

3

最初にお勧めするのは、 ArchivaArtifctoryNexusなどのリポジトリ マネージャーを使用することです。さらに、次の記事を読むことをお勧めします: http://www.sonatype.com/people/2009/02/why-putting-repositories-in -your-poms-is-a-bad-idea/ . 前のものとは別に、次のような pluginRepository エリアを定義する必要があります。

 <pluginRepositories>
    <pluginRepository>
      <id>central</id>
      <name>Maven Plugin Repository</name>
      <url>http://repo1.maven.org/maven2</url>
      <layout>default</layout>
      <snapshots>
        <enabled>false</enabled>
      </snapshots>
      <releases>
        <updatePolicy>never</updatePolicy>
      </releases>
    </pluginRepository>
  </pluginRepositories>
于 2012-05-14T12:02:18.940 に答える