J'ai “La version n'a pas pu lire 1 projet” dans maven build car pas défini les versions
J'ai un parent-pom et de l'intégration-pom:
intégration pom
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-model</artifactId>
</dependency>
</dependencies>
<parent>
<groupId>com.example</groupId>
<artifactId>example-parent</artifactId>
<version>0.0.1-SNAPSHOT</version>
</parent>
parent pom
<modules>
<module>../example-business</module>
<module>../example-integration</module>
<module>../example-model</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20131018</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-model</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
Maintenant, quand je vais faire une installation propre sur le parent, j'obtiens l'erreur suivante:
[INFO] Scanning for projects...
Downloading: http://www.example.com/content/groups/mirror/com/example/example-parent/0.0.1-SNAPSHOT/maven-metadata.xml
[ERROR] The build could not read 1 project -> [Help 1]
[ERROR]
[ERROR] The project com.example:example-integration:0.0.1-SNAPSHOT (D:\dev\workspaces\example-git\example\example-integration\pom.xml) has 3 errors
[ERROR] 'dependencies.dependency.version' for org.json:json:jar is missing. @ line 22, column 15
[ERROR] 'dependencies.dependency.version' for commons-httpclient:commons-httpclient:jar is missing. @ line 27, column 15
[ERROR] 'dependencies.dependency.version' for com.example:example-model:jar is missing. @ line 32, column 15
Mais quand je prends un coup d'oeil à l'efficacité de POM de l'intégration pom, il y a la version écrite.
Alors pourquoi je ne peux pas en construire un?
Edit:
Voici une capture de la EFFICACE POM vue:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20131018</version>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-integration</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-business</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20131018</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>commons-httpclient</groupId>
<artifactId>commons-httpclient</artifactId>
<version>3.1</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-model</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>com.example</groupId>
<artifactId>example-business</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
</dependencies>
OriginalL'auteur | 2013-12-06
Vous devez vous connecter pour publier un commentaire.
Le problème est de le faire avec votre structure de projet et de la façon dont vous avez défini le
parent
dans l'enfant de chrysanthèmes.Votre enfant modules sont en fait dans des dossiers qui sont un niveau au-dessus de l'endroit où votre parent pom réside plutôt que dans le même niveau (à en juger par
<module>../example-business</module>
). Lorsque maven essaie de construire l'enfant de modules qu'il ne peut pas trouver le pom parent comme il n'est pas disponible dans le repository maven (il est actuellement dans le processus de construction de sorte qu'il n'a pas encore été téléchargée).Pour y remédier, vous simplement besoin de changer le
parent
définition de l'enfant, de chrysanthèmes, de définir une véritablerelativePath
à l'emplacement du pom parent, de sorte que maven peut le trouver. Donc le changer pour quelque chose comme ce qui suit:Évidemment, vous devez changer les
name-of-folder-containing-parent-pom
sera ce que le dossier est en.Prendre un coup d'oeil à mon montage, j'ai édité mon efficace pom
Êtes-vous à la construction de la ligne de commande ou depuis un IDE? Pourriez-vous essayer à partir de la ligne de commande? Ce qui se passe si vous essayez de construire un de l'enfant modules par lui-même?
Je le construire à partir de l'intérieur de l'IDE (eclipse). Je ne sais pas comment faire à partir de la ligne de commande et il faut travailler dans l'IDE... Quand je construis un enfant, je vais obtenir un
Compilation failure
erreur...Est-il une chance que vous pourriez faire de l'complet poms disponible quelque part pour moi de prendre un coup d'oeil à?
OriginalL'auteur DB5