2 Stimmen

jaxb episodische Zusammenstellung mit maven

Ich versuche, das maven-jaxb2-plugin-sample-episode-0.7.4 auszuführen (erklärt aquí und mit einer Download verfügbar ), um eine separate Schemakompilierung zu versuchen. Obwohl das erste Schema (A) kompiliert wird, schlägt es beim zweiten (B) fehl, da es nicht in der Lage ist, das Artefakt maven-jaxb2-plugin-sample-episode-a-maven:jar:0.7.4 aufzulösen.

I ausführen mvn assembly:assembly von der Befehlszeile aus (Windows) und ich erhalte folgende Fehlermeldung:

...
[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] ------------------------------------------------------------------------

Das Beispiel sollte so funktionieren, wie es ist, was mache ich also falsch? Im realen Szenario habe ich mehr als 10 Schemata, die als verschiedene Episoden kompiliert werden müssen, daher muss der Prozess automatisch ablaufen (d.h. ich muss nicht für jedes einzelne Artefakt "mvn something" ausführen).

3voto

Raghuram Punkte 50648

Das Modul maven-jaxb2-plugin-ample-episode-b-maven hängt ab von maven-jaxb2-plugin-ample-episode-a-maven .

Cuando mvn assembly:assembly aus dem übergeordneten Ordner (der die beiden Module enthält) ausgeführt wird, wird die jar-Datei für maven-jaxb2-plugin-ample-episode-a-maven aber installiert es nicht in Ihrem lokalen Repository .

Wenn es dann versucht, die maven-jaxb2-plugin-ample-episode-b-maven sucht es nach der Abhängigkeit ( maven-jaxb2-plugin-ample-episode-a-maven ) und findet es nicht im lokalen Repository. Daher der Fehler.

Die Frage ist, warum sollten Sie die mvn assembly:assembly die zur Erstellung einer Binärverteilung verwendet wird? In beiden Modulen gibt es keine Assembly-Deskriptoren.

mvn install funktioniert einwandfrei und erstellt beide Module erfolgreich.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X