2014-10-15 8 views
5

Recentemente ho aggiornato a JAXB 2.2.11 e ho notato nel mio Eclipse consolare il seguente messaggio:ottenere "i POM per <name> non è valido, le dipendenze transitive (se presente) non saranno disponibili" solo in Eclipse

10/15/14, 11:42:46 PM GMT+2: [INFO] Creating new launch configuration 
10/15/14, 11:42:58 PM GMT+2: [INFO] C:\Projects\workspaces\mj2p\maven-jaxb2-plugin-project\tests\JAXB-1044 
10/15/14, 11:42:58 PM GMT+2: [INFO] mvn -B -X -e clean install 
10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-impl:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.sun.xml.bind:jaxb-impl:2.2.11 
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @ 

10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-xjc:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.sun.xml.bind:jaxb-xjc:2.2.11 
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @ 

10/16/14, 12:09:07 AM GMT+2: [WARN] The POM for com.sun.xml.bind:jaxb-core:jar:2.2.11 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for com.sun.xml.bind:jaxb-core:2.2.11 
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for com.sun:tools:jar must specify an absolute path but is ${tools.jar} @ 

Ciò che mi imbarazza è che non sto ricevendo questo avviso in console. Anche il numero pom in questione sembra essere corretto. Sono sicuro che sto usando la stessa installazione di Maven nella console e in Eclipse (m2e). Anche il repository sembra essere corretto.

Qualcuno capita, che cosa potrebbe causare questo?

Si prega di notare che questo non è un duplicato per (quasi identico nome) domanda:

Questa domanda è sulle differenze tra l'esecuzione Maven nella console e da Eclipse.

risposta

4

Dopo ulteriori indagini sembra che io ho lo stesso problema come in questa domanda:

Maven not picking JAVA_HOME correctly

I solution grazie alla @rustyx (si prega di upvote quella risposta):

Per risolvere il problema è necessario avviare Eclipse utilizzando JRE dal JDK aggiungendo qualcosa come questo a eclipse.ini (prima -vmargs):!

-vm 
C:\<your_path_to_jdk170>\jre\bin\javaw.exe 
4

Il pom per com.sun.xml.bind.jaxb-impl ha com.sun.xml.bind:jaxb-parent ha il suo genitore.

jaxb-parent pom ha la seguente sezione:

<profile> 
    <id>default-tools.jar</id> 
    <activation> 
     <file> 
      <exists>${java.home}/../lib/tools.jar</exists> 
     </file> 
    </activation> 
    <properties> 
     <tools.jar>${java.home}/../lib/tools.jar</tools.jar> 
    </properties> 
</profile> 
<profile> 
    <id>default-tools.jar-mac</id> 
    <activation> 
    <file> 
     <exists>${java.home}/../Classes/classes.jar</exists> 
    </file> 
    </activation> 
    <properties> 
     <tools.jar>${java.home}/../Classes/classes.jar</tools.jar> 
    </properties> 
</profile> 

Nel vostro Eclipse, né del profilo sembra essere attivato a causa di cui ${tools.jar} non ha un valore.

Una possibilità potrebbe essere JAVA_HOME valore impostato in modo errato.

+0

Proprio ricontrollato: 'JAVA_HOME' è impostato correttamente, l'area di lavoro è impostato con un JDK. Non sono abbastanza sicuro di come eseguire il debug di questo. – lexicore

+0

Qualche possibilità 'mvn: help-effective-pom' funziona e, in caso affermativo, quale output fornisce? – Raghuram

+1

Si prega di vedere la mia altra risposta. Questo è un bug di Eclipse ('java.home' non viene passato correttamente per impostazione predefinita). – lexicore

Problemi correlati