2012-01-01 8 views
12

cercando di costruire progetti di esempio visualizzarloN ottengo:errore Crea: manca com.sun artefatto: strumenti: vaso: 1.6

Missing artifact com.sun:tools:jar:1.6 pom.xml /playn-cute line 6 Maven Dependency Problem 

su ogni file pom.xml. Come posso risolverlo?

Edit:

ho aggiunto la profiles node al pom.xml, ma l'errore rimane. Ho verificato che lo tools.jar sia effettivamente esistente e che non sia così. Quindi ho aggiunto tools.jar alla cartella lib. Eppure l'errore rimane.

Il pom.xml completa:

<?xml version="1.0" encoding="UTF-8"?> 
<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/maven-v4_0_0.xsd"> 
    <modelVersion>4.0.0</modelVersion> 

    <parent> 
     <groupId>com.googlecode.playn</groupId> 
     <artifactId>playn-project</artifactId> 
     <version>1.0.1</version> 
    </parent> 

    <artifactId>playn-cute</artifactId> 
    <name>PlayN Cute Metaproject</name> 
    <version>1.0-SNAPSHOT</version> 
    <packaging>pom</packaging> 

    <properties> 
     <playn.version>1.0.1</playn.version> 
    </properties> 

    <modules> 
     <module>core</module> 
     <module>java</module> 
     <module>html</module> 
     <!-- <module>flash</module> --> 
     <module>android</module> 
    </modules> 

    <profiles> 
     <profile> 
      <id>default-tools.jar</id> 
      <activation> 
       <property> 
        <name>java.vendor</name> 
        <value>Sun Microsystems Inc.</value> 
       </property> 
      </activation> 
      <dependencies> 
       <dependency> 
        <groupId>com.sun</groupId> 
        <artifactId>tools</artifactId> 
        <version>1.6</version> 
        <scope>system</scope> 
        <systemPath>${java.home}/../lib/tools.jar</systemPath> 
       </dependency> 
      </dependencies> 
     </profile> 
    </profiles> 
</project> 
+0

Quale sistema operativo stai usando? Qual è il percorso esatto del comando javac e qual'è il percorso esatto in cui hai installato tools.jar? Avete installato Java SDK o solo Java JRE? Sembra che tu abbia il secondo, ma hai bisogno del primo. – samskivert

+0

Controlla la mia risposta in più o meno lo stesso [problema] (http://stackoverflow.com/questions/6281674/what-is-wrong-with-my-maven-config): Penso che abbia a che fare con il percorso usato per tools.jar – Chris

+0

La soluzione rapida che mi ha aiutato è stata quella di puntare il JRE a quello disponibile nella cartella JDK. –

risposta

19

Questo artefatto viene sempre gestito come una dipendenza "di sistema". Non viene mai memorizzato in un repository.

Vedere http://maven.apache.org/general.html#tools-jar-dependency per i dettagli.

se non ci sono strumenti jar e non si è su un Mac, si sta tentando di utilizzare un JRE quando il requisito è un JDK. Non puoi trasformarne uno nell'altro copiando il file.

+0

Grazie bmargulies. Si prega di vedere la mia domanda di modifica, ho aggiunto ulteriori progressi. – MichaelS

1

Alcune indicazioni che possono aiutare a:

  1. Controllare se il tools.jar è presente nella URL repo in pom.xml.
  2. Verificare la dipendenza in pom.xml. Potrebbe non essere corretto. Non ho trovato nessun artefatto del vaso allo http://search.maven.org/#browse%7C96611365.

Grazie.

-2

ho dovuto cambiare quello che aveva:

<systemPath>${java.home}/../lib/tools.jar</systemPath> 

al percorso esplicito, utilizzando il JDK non il JRE come bmargulies detto:

<systemPath>C:/Program Files/Java/jdk1.6.0_24/lib/tools.jar</systemPath> 

Speranza che aiuta.

8

Ho avuto lo stesso problema quando utilizzo Eclipse in Windows 7, anche quando ho rimosso JRE dall'elenco di JRE nelle impostazioni di Eclipse e ho appena avuto il JDK. La tua domanda non dice se usi Maven da riga di comando, o Eclipse, quindi ho pensato di condividere ciò che ha risolto per me in Eclipse.

Quello che ho finito per dover fare era modificare la riga di comando per il collegamento che uso per lanciare Eclipse per aggiungere l'argomento -vm ad esso in questo modo:

-vm "T:\Program Files\Java\jdk1.6.0_26\bin" 

Naturalmente, si sarebbe regolare che per puntare alla directory bin di l'installazione JDK. Ciò che fa è far funzionare Eclipse stesso usando JDK invece di JRE, e quindi è in grado di trovare correttamente lo tools.jar.

+1

Questo ha funzionato per me in un progetto Maven in eclissi ma per ottenere il massimo effetto dovevo fare Maven -> Aggiorna progetto dal menu di scelta rapida – mister270

3

Sto testando su Ubuntu. Non ho molta familiarità con gli strumenti Java. L'installazione di JDK ha risolto il problema per me.

aptitude install openjdk-6-jdk 
+0

sì che lo risolve! – nightfly

-1

Questo Apple Developer article afferma:

tools.jar does not exist. Classes usually located here are instead included in classes.jar. Scripts that rely on the existence of tools.jar need to be rewritten accordingly.

0

Ho anche avuto questo problema, e anche se il java_path era ok, il problema persisteva. La correzione che ha funzionato per me è stato:

eseguire questo comando (dove dfile punta al tuo tools.jar):

mvn install:install-file -DgroupId=com.sun -DartifactId=tools -Dversion=1.4.2 -Dpackaging=jar -Dfile="C:\Program Files\Java\jdk1.6.0_26\lib\tools.jar" 

Poi, nel pom.xml principale aggiungere il riferimento alla dipendenza:

<dependency> 
    <groupId>com.sun</groupId> 
    <artifactId>tools</artifactId> 
    <version>1.4.2</version> 
</dependency> 
-2

Aggiungere questa dipendenza nel file pom.xml.

Nella proprietà <systemPath> è necessario scrivere il percorso jdk lib.

<dependency> 
    <groupId>com.sun</groupId> 
    <artifactId>tools</artifactId> 
    <version>1.4.2</version> 
    <scope>system</scope> 
    <systemPath>C:/Program Files/Java/jdk1.6.0_30/lib/tools.jar</systemPath> 
</dependency> 
0

questo è il modo in cui l'ho risolto. incollare sotto le righe nel file eclipse.ini.

-vm sentiero fino java.exe (come illustrato di seguito)

-vm C:/Programmi/Java/jdk1.7.0_60/bin/java

spero che aiuta.

1

Ci sono molte ragioni si potrebbe vedere questo errore sul vostro IDE Eclipse

  1. Eclipse punta al JRE piuttosto che JDK
  2. JDK libreria non contiene tools.jar

Per questo si potrebbe vuoi aggiungere tools.jar da solo tramite Preferenze -> Java -> JRE installato -> (seleziona JDK, modifica e aggiungi oggetti esterni -> vai a tools.jar)

  1. Un altro motivo potrebbe essere questo -> il repository principale del tuo progetto ha un jar con lo stesso nome sotto qualche altro artefatto.

è necessario individuare tools.jar attraverso - vista> Dipendenza Gerarchia per pom.xml in Eclipse e, una volta individuato il barattolo è possibile aggiungere un'esclusione ci

come ->

<groupId>com.parent.project</groupId> 
    <artifactId>parent-project-dependencies-pom</artifactId> 
    <version>${dependencies.version}</version> 
     <exclusions> 
      <exclusion> 
       <groupId>com.sun</groupId> 
       <artifactId>tools</artifactId> 
      </exclusion> 
     </exclusions> 
2

Non è necessario aggiungere la dipendenza al POM. Ho avuto questo problema in Eclipse ed era perché Eclipse era in esecuzione in un JRE, non in un JDK.

Vai a questa domanda qui per lo stesso problema: Missing artifact com.sun:tools:jar

deliberato dal specificando gli usi vm Eclipse. Controlla anche il percorso di generazione per il tuo progetto eclipse sta usando un JDK, non un JRE.

Avere un JDK sul percorso di generazione e l'impostazione esplicita di un JDK nell'IDE di eclissi non funziona comunque se il java sul percorso fosse un jre non un jdk (percorso di windows, o linux/mac equivilent).

Esegui questo dalla riga di comando per vedere che cosa java sul vostro percorso è: How do I find where JDK is installed on my windows machine?

Se il suo un JRE che si dovrebbe cambiare in un JDK e rilanciare il vostro IDE.

0

Ecco come ho risolto questo problema utilizzando JBoss Developer Studio 8.1.10:

Aggiungi alla tua jbdevstudio.ini file che si trova in: D:\Users\bertrand\jbdevstudio\studio queste due linee (prima -vmargs):

-vm 
C:\Program Files\Java\jdk1.7.0_79\bin 
Problemi correlati