2017-09-18 1 views
0

Je souhaite fournir une dépendance externe à mon projet maven dans eclipse. Par conséquent, j'ai copié le fichier jar et son fichier POM.xml directement dans le référentiel Maven local. Mais en quelque sorte, Eclipse se plaint que le POM pour le pot est invalide.Le POM pour jar est invalide, les dépendances transitives ne seront pas disponibles

Mon pom.xml pour le fichier jar dans le référentiel local ressemble à ci-dessous:

<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/xsd/maven-4.0.0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
    <groupId>com.b.t</groupId> 
    <artifactId>v-parent</artifactId> 
    <version>3.9.0</version> 
    </parent> 

    <scm> 
     <developerConnection>scm:svn:url/</developerConnection> 
    </scm> 

    <artifactId>v-p</artifactId> 
    <version>1.1.0</version> 
    <name>p</name> 
    <build> 
    <plugins> 
     <!-- Plugin required to build java classes from XSD using XJC --> 
     <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>jaxb2-maven-plugin</artifactId> 
     <version>1.5</version> 
     <executions> 
      <execution> 
      <id>xjc</id> 
      <goals> 
       <goal>xjc</goal> 
      </goals> 
      </execution> 
     </executions> 
     <configuration> 
      <arguments>-npa</arguments> 
      <schemaDirectory>${project.basedir}/src/main/resources</schemaDirectory> 
      <packageName>com.b.t.v.fusion.p.generated</packageName> 
      <schemaFiles>pConfig.xsd</schemaFiles> 
      <outputDirectory>${basedir}/target/generated-sources</outputDirectory> 
     </configuration> 
     </plugin> 
    </plugins> 
    <pluginManagement> 
     <plugins>  
     <!-- Plugin required to add the generated sources to the classpath --> 
     <plugin> 
      <groupId>org.codehaus.mojo</groupId> 
      <artifactId>build-helper-maven-plugin</artifactId> 
      <version>1.8</version> 
      <executions> 
      <execution> 
       <phase>generate-sources</phase> 
       <goals> 
       <goal>add-source</goal> 
       </goals> 
       <configuration> 
       <sources> 
        <source>${basedir}/target/generated-sources</source> 
       </sources> 
       </configuration> 
      </execution> 
      </executions> 
     </plugin> 
     </plugins> 
    </pluginManagement> 
    </build> 


    <dependencies> 
     <dependency> 
     <groupId>com.b.t</groupId> 
     <artifactId>v-fusioninterface</artifactId> 
     </dependency> 
     <dependency> 
     <!-- FFT --> 
     <groupId>com.github.wendykierp</groupId> 
     <artifactId>JTransforms</artifactId> 
     <version>3.1</version> 
     </dependency> 
     <dependency> 
     <!-- Reading and writing of MATLAB files --> 
     <groupId>net.sourceforge.jmatio</groupId> 
     <artifactId>jmatio</artifactId> 
     <version>1.0</version> 
     </dependency> 
    <dependency> 
     <groupId>ch.qos.logback</groupId> 
     <artifactId>logback-classic</artifactId> 
     <scope>test</scope> 
     </dependency> 
    <dependency> 
     <groupId>junit</groupId> 
     <artifactId>junit</artifactId> 
     <scope>test</scope> 
    </dependency> 
    </dependencies> 
    <profiles> 
    <profile> 
    <id>doclint-java8-disable</id> 
    <activation> 
     <jdk>[1.8,)</jdk> 
    </activation> 

    <build> 
     <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-javadoc-plugin</artifactId> 
      <configuration> 
      <additionalparam>-Xdoclint:none</additionalparam> 
      </configuration> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 
</profiles> 
</project> 

J'ai déjà vérifié des postes similaires et ont fait les changements nécessaires dans eclipse.ini (spécifiant JRE JDK vmargs n tout). Ma dépendance Maven projet ressemble ci-dessous:

<dependency> 
      <groupId>com.b.t</groupId> 
      <artifactId>v-p</artifactId> 
      <version>1.1.0</version> 
     </dependency> 

S'il vous plaît noter que le même fichier jar avec pom.xml correspondant fonctionne bien pour mon collègue Intellij. J'utilise Eclipse Luna juste pour info. J'ai également vérifié dans mon Eclipse que le JRE installé est jdk1.8.0_144.

Également j'obtiens la même erreur quand j'utilise mvn clean install sur invite de commande.

Quelqu'un peut-il me suggérer ce que je peux vérifier plus?

+0

Pouvez-vous ouvrir le fichier pom.xml dans votre navigateur ou tout autre programme d'analyse XML? –

+0

Oui, je peux l'ouvrir dans le bloc-notes ++ .. – Ragini

+0

Est-ce que notepad ++ fait XML _validation_? Ce n'est pas la même chose que d'être capable d'afficher le fichier. Si vous ne savez pas ce que c'est, s'il vous plaît savoir. –

Répondre

1

Vous ne pouvez pas simplement copier les fichiers dans votre dépôt local, vous devez les installer. Il y a des instructions ici: https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html

Dans votre cas est serait quelque chose comme:

mvn install:install-file -Dfile=<path-to-file> -DpomFile=<path-to-pomfile> 
+0

Merci de l'avoir signalé. Bon à savoir. Je l'ai fait mais obtenir la même erreur malheureusement. :-( – Ragini

+0

Quel est exactement le message d'erreur? – robjwilkins

+0

il dit "Le POM pour com.bt:vp:jar:1.1.0 est invalide, les dépendances transitives ne seront pas disponibles, activer la journalisation de débogage pour plus de détails" – Ragini