2

別のスキーマ コンパイルを試すために、maven-jaxb2-plugin-sample-episode-0.7.4 (ここで説明され、ダウンロード可能です) を実行しようとしています。最初のスキーマ (A) をコンパイルしても、アーティファクト maven-jaxb2-plugin-sample-episode-a-maven:jar:0.7.4 を解決できないため、2 番目のスキーマ (B) で失敗します。

mvn assembly:assemblyコマンドライン(Windows)から実行すると、次のエラーが表示されます。

...
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven JAXB 2.x Plugin Sample [episode-b|maven]
[INFO] ------------------------------------------------------------------------
[INFO] [jaxb2:generate {execution: default}]
Downloading: http://repo1.maven.org/maven2/org/jvnet/jaxb2/maven2/maven-jaxb2-pl
ugin-sample-episode-a-maven/0.7.4/maven-jaxb2-plugin-sample-episode-a-maven-0.7.
4.jar
[INFO] Unable to find resource 'org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-sample
-episode-a-maven:jar:0.7.4' in repository central (http://repo1.maven.org/maven2
)
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Could not resolve the artifact.

Embedded error: Missing:
----------
1) org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-sample-episode-a-maven:jar:0.7.4

  Try downloading the file manually from the project website.

  Then, install it using the command:
      mvn install:install-file -DgroupId=org.jvnet.jaxb2.maven2 -DartifactId=mav
en-jaxb2-plugin-sample-episode-a-maven -Dversion=0.7.4 -Dpackaging=jar -Dfile=/p
ath/to/file

  Alternatively, if you host your own repository you can deploy the file there:

      mvn deploy:deploy-file -DgroupId=org.jvnet.jaxb2.maven2 -DartifactId=maven
-jaxb2-plugin-sample-episode-a-maven -Dversion=0.7.4 -Dpackaging=jar -Dfile=/pat
h/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency:
        1) org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-ample-episode-b-maven:jar:0
.7.4
        2) org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-sample-episode-a-maven:jar:
0.7.4

----------
1 required artifact is missing.

for artifact:
  org.jvnet.jaxb2.maven2:maven-jaxb2-plugin-ample-episode-b-maven:jar:0.7.4

from the specified remote repositories:
  central (http://repo1.maven.org/maven2)


[INFO] ------------------------------------------------------------------------
[INFO] For more information, run Maven with the -e switch
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 8 seconds
[INFO] Finished at: Wed Dec 22 16:31:29 CET 2010
[INFO] Final Memory: 16M/39M
[INFO] ------------------------------------------------------------------------

この例はそのまま機能するはずですが、何が間違っていますか? 実際のシナリオでは、異なるエピソードとしてコンパイルする必要があるスキーマが 10 個以上あるため、プロセスを自動化する必要があります (つまり、個々の成果物ごとに「mvn something」を実行する必要はありません)。

4

1 に答える 1

3

モジュールmaven-jaxb2-plugin-ample-episode-b-mavenはに依存しmaven-jaxb2-plugin-ample-episode-a-mavenます。

mvn assembly:assembly親フォルダー(2つのモジュールを含む)から実行されると、のjarが作成maven-jaxb2-plugin-ample-episode-a-mavenれますが、ローカルリポジトリにはインストールされません

次にビルドを試みるとmaven-jaxb2-plugin-ample-episode-b-maven、依存関係(maven-jaxb2-plugin-ample-episode-a-maven)を探し、ローカルリポジトリでそれを見つけることができません。したがって、エラー。

mvn assembly:assembly問題は、バイナリ分布を作成するために使用されるを実行する理由です。どちらのモジュールにもアセンブリ記述子はありません。

mvn install正常に動作し、両方のモジュールを正常にビルドします。

于 2010-12-30T04:38:50.523 に答える