11
votes

Je reçois "la construction ne pouvait pas lire 1 projet" dans Maven Build parce que des versions non définies

J'ai un parent-pom et une intégration-pom:
intégration pom em> xxx pré>

parent pom em> p> xxx pré>

maintenant quand je ferai un Installation propre sur le parent, j'obtiens l'erreur suivante: P>

<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>


0 commentaires

3 Réponses :


8
votes

Le problème est de faire avec votre structure de projet et de la manière dont vous avez défini le parent dans l'enfant POMS.

Vos modules enfants sont en réalité dans des dossiers qui sont un niveau supérieur à partir de l'endroit où votre POM parent réside plutôt que dans le même niveau (à en juger par ../ Exemple-Business ). Lorsque Maven tente de construire les modules d'enfants, il ne peut pas trouver le parent POM car il n'est pas disponible dans le référentiel Maven (il est actuellement en train de le construire afin qu'il n'a pas encore été téléchargé).

Pour résoudre ce problème, vous devez simplement modifier la définition parent dans l'enfant POMS pour définir un vrai RelativePath à l'emplacement du parent POM afin que Maven puisse le trouver. Alors changez-le pour être quelque chose comme ce qui suit: xxx

évidemment, vous devez modifier Nom-de-dossier contenant-parent-pom être quel que soit le dossier.


6 commentaires

Ça ne marche pas. J'ai d'abord ajouté le parent à nouveau sur l'onglet "Vue d'ensemble" et l'a ajouté sur le bouton "Sélectionner le parent". Cela ne fonctionne pas. J'ai donc ajouté le relativePath à "../example-parent". Aussi pas n'a pas travaillé


Vous construisez-vous de la ligne de commande ou de l'IDE? Pourriez-vous essayer de la ligne de commande? Que se passe-t-il si vous essayez de construire un des modules d'enfant par elle-même?


Je le construit de l'IDE (Eclipse). Je ne sais pas comment le faire de la ligne de commande et cela devrait fonctionner dans l'IDE ... lorsque je construis un enfant, je vais obtenir une défaillance de la compilation erreur ...


Y a-t-il une chance que vous puissiez rendre les pompons complets disponibles quelque part pour que je jette un coup d'oeil?


Hm. J'ai encore ajouté le chemin relatif. Maintenant, je reçois une erreur différente: Les projets du réacteur contiennent une référence cyclique: bord entre 'Vertex {étiquette =' com.example: Exemple-Integration: 0.0.1-Snapsho T '}' et 'Vertex { Label = 'com.Example: Exemple-Business: 0.0.1-Snapshot'} 'introduit à cycle dans le graphique COM.Example: Exemple-business: 0.0.1-Snapshot ...


Le problème est que je dois changer tous les noms, car je ne suis pas autorisé à partager les noms de paquets, etc. Donc, mon vrai projet ne nomme pas COM.Example, je viens de remplacer cela. Il serait difficile de partager le fichier. Désolé. Mais si vous en avez vraiment besoin pour m'aider, je vais regarder ce que je peux faire. Merci de votre aide!



0
votes

Vérifiez pourquoi la dépendance des parents n'est pas résolue dans votre local. Vousurez peut-être manquer quelque chose dans Paramètres.xml qui réside dans C: Utilisateurs / Nom / .m2 Vérifiez si les informations d'identification sont correctes et que vous avez ajouté tous les liens artificitaires au cas où ils ne sont pas publics.


0 commentaires

-1
votes

J'ai aussi eu un problème similaire et est résolu en ajoutant une étiquette de fermeture manquée ci-dessous xxx

même résolu comme ci-dessous: xxx


0 commentaires