Eksik artifact com.sun: araçlar: jar


93

Başlangıç ​​eğitimini takip ediyordum, ancak Maven kullanarak playn projesini içe aktardıktan sonra takılı kaldım. 64bit Windows 7 üzerinde çalışan Eclipse Indigo kullanıyorum.

İçe aktarılan tüm projelerde aynı hata var:

Missing Artifact com.sun:tools:jar in all the pom.xml files.

Birkaç saat forumları araştırdıktan sonra denedim:

En son Java 1.6.029'u yükleme JAVA_HOMEOrtam değişkenimi \program files\Java\jdk1.6_029 JRE'yi kullanmak için Eclipse Java tercihlerimi değiştirmeye işaret edecek şekilde değiştirme jdk1.6_029.

Gerçekten playn ile denemeler yapmak isterdim, ancak neden birkaç gönderi var, çözüm hakkında fikir birliği cevabı bulamıyorum. Bazıları Sun'ın 64bit jdk'den bir şey çıkardığını söylerken, diğerleri xml dosyalarınızı düzenlemeniz gerektiğini söyler, birçok kişi sizin değiştirdiğinizi JAVA_HOMEsöyledi ve bir diğeri Eclipse için VM seçeneklerinizi değiştirmeniz gerektiğini söyledi.

Bunu temizlemek için herhangi bir yardım takdir edilecektir ve muhtemelen birçokları için yararlıdır, çünkü burada özellikle garip bir kurulumum yok.

(değiştir) İşte ilk projedeki pom.xml. Eclipse bayrakları şu satırda hata veriyor:

<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.1-SNAPSHOT</version>
  </parent>

  <artifactId>playn-android</artifactId>
  <name>PlayN Android</name>
  <packaging>jar</packaging>

  <repositories>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>com.googlecode.playn</groupId>
      <artifactId>playn-core</artifactId>
      <version>${project.version}</version>
    </dependency>

    <!-- needed because Android uses the same JSON code as playn-java;
         that should be factored into a library shared by both backends -->
    <dependency>
      <groupId>com.googlecode.playn</groupId>
      <artifactId>playn-java</artifactId>
      <version>${project.version}</version>
    </dependency>

    <dependency>
      <groupId>com.google.android</groupId>
      <artifactId>android</artifactId>
      <version>${android.version}</version>
      <scope>provided</scope>
    </dependency>

    <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>4.8.1</version>
      <scope>test</scope>
    </dependency>
  </dependencies>

  <build>
    <sourceDirectory>src</sourceDirectory>
  </build>
</project>

Komut satırından maven çalıştırırken aynı hatayı mı alıyorsunuz?
Raghuram

Pom.xml dosyasını ekledim. Komut satırını kullanarak maven ile nasıl bir şey yapılacağını bilmediğim için özür dilerim.
boldinventions

POM bozuldu. GroupId, artifactId, version gibi zorunlu etiketler eksik ... Ana POM ayrıca Maven central'da bulunmayan modül sürümüdür ...
Mark O'Connor

bir şekilde düzelttin mi? bunların hiçbiri benim için işe yaramıyor gibi görünüyor (Windows7-64 bit - jdk1.6)
Ovidiu Latcu

Bu yaygın bir sorun olduğundan, işinize yarayan bir cevabı kabul edebilir misiniz?
Roy Truelove

Yanıtlar:


56

Bu soruyu aynı konu ve nasıl çözdüğüm hakkında biraz önce yayınladım , ancak daha alakalı göründüğü için buraya da yapıştıracağım (ve genişleteceğim).

Windows 7'de Eclipse'i kullanırken, JRE'yi Eclipse ayarlarında JRE'ler listesinden kaldırıp JDK'ya sahip olduğumda bile aynı sorunu yaşadım.

Yapmak zorunda kaldığım şey (sorunuzda bahsettiğiniz gibi) -vm argümanını eklemek için Eclipse'i başlatmak için kullandığım kısayolun komut satırını şu şekilde değiştirmekti:

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

Tabii ki, bin dizinine noktaya o ayarlayabilir sizin JDK yükleyin. Bunun yaptığı şey, Eclipse'in kendisinin JRE yerine JDK kullanarak çalışmasına ve ardından tools.jardüzgün bir şekilde bulmasına neden olur .

Bunun, hiçbiri belirtilmediğinde Eclipse'in varsayılan JRE'yi bulmasıyla ilgisi olduğuna inanıyorum. JRE'yi JDK'ye tercih etme eğiliminde olduğunu tahmin ediyorum (neden, bilmiyorum) ve bulduğu ilk uyumlu JRE için geçerli. Ve Vladiat0r'ın cevabının önerdiği gibi Windows kayıt defteri anahtarlarından çıkarsa, önce HKLM\Software\JavaSoft\Java Runtime Environmentanahtar yerine anahtarı arar HKLM\Software\JavaSoft\Java Development Kit.


10
Bu bizim için Windows 7'de çalıştı. Eclipse.ini kullanmak yerine -vm "..." argümanını eklemek için kısayolu değiştirmemiz gerekti. Ayrıca, hata ortadan kalkmadan önce maven projemizi çalışma alanına yeniden aktarmak zorunda kaldık.
Kit Menke

2
Burada da aynı - .ini ile zar yok, ancak cmdline'daki -vm argümanı çalıştı.
Roy Truelove

1
Eclipse.init'in nasıl değiştirileceğini açıklamak için cevabı düzenledim. Kaynak: wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example
OGrandeDiEnne

1
Aynı burada - kısayola -vm eklemek benim için çalıştı. Projemi yeniden içe aktarmak zorunda değilim, projelendirmek / düzenlemek / güncellemek yeterli oldu.
Łukasz Dumiszewski

1
Çalışmasına izin vermek için, javaw.exebu yola da eklemem gerekiyor (yani tam olarak :) -vm "T:\Program Files\Java\jdk1.8.0_66\bin\javaw.exe";
Jacob van Lingen

27

Basit bir web hizmeti uygulaması geliştirirken aynı sorunları yaşadım, benim durumumda jaxws kitaplıklarını almak için kodlu bir eklenti eklemek zorunda kaldım. Ancak, maven pom araçlar kavanoz dosyası hakkında sorular sormaya devam etti.

Yukarıdaki yorumların doğru olduğunu söylemeliyim, aşağıdaki girişi pom dosyasına ekleyebilirsiniz:

<dependency>
   <groupId>com.sun</groupId>
   <artifactId>tools</artifactId>
   <version>1.6</version>
   <scope>system</scope>
   <systemPath>C:\Program Files\Java\jdk1.6.0_29\lib\tools.jar</systemPath>
 </dependency>

Ancak, bir üretim örneğine dağıtım yapmanız gerektiğinde ne olacak? Yolu bir sistem ortam değişkenine referansla değiştirebilirsiniz, ancak bu en azından bana hala iyi görünmüyor.

Bir StackOverflow yorumunda başka bir çözüm buldum:

Maven 3 Artefakt sorunu

<dependency>
    <groupId>org.apache.struts</groupId>
    <artifactId>struts2-core</artifactId>
    <version>${struts2.version}</version>
    <exclusions>
        <exclusion>
            <artifactId>tools</artifactId>
            <groupId>com.sun</groupId>
        </exclusion>
    </exclusions>
</dependency>

Araç kavanozu için bir dışlama ifadesi eklemeyi önerirler ve işe yarar. Özetlemek gerekirse: bağımlılığınıza bir hariç tutma kuralı ekleyebilir ve tool.jar sorununu yaşamamaktan kurtulabilirsiniz:

 <exclusions>
            <exclusion>
                <artifactId>tools</artifactId>
                <groupId>com.sun</groupId>
            </exclusion>
        </exclusions>

3
İpucu: Dışlamanızı nereye ekleyeceğinizi bulmak için 'mvn bağımlılığı: ağaç' kullanın.
Lars

Hariç tutmalar etiketini eklemek pom.xmlbenim için çalışmıyor.
user3437460

25

Aynı sorunla karşılaştık ve bunu çözmek başardı yolu bağımlılığı yeri eklemek oldu tools.jariçine pom.xml. Şöyle:

 <dependency>
   <groupId>com.sun</groupId>
   <artifactId>tools</artifactId>
   <version>1.6</version>
   <scope>system</scope>
   <systemPath>C:\Program Files\Java\jdk1.6.0_29\lib\tools.jar</systemPath>
 </dependency>

<systemPath>Tools.jar dosyanızın bulunduğu yeri değiştirdiğinizden emin olun .


42
Bunu yapmamayı şiddetle öneririm - sorunu çözer ancak diğer geliştiriciler için taşınabilir veya ortamlar oluşturmaz. Diğer cevaplara bakın, hile yapıyorlar gibi görünüyor
Roy Truelove

belki systemPath'i <systemPath> $ {java.home} /lib/plugin.jar </systemPath> olarak değiştirmek daha iyidir
Guilherme Santos

stackoverflow.com/questions/3080437/… bunu taşınabilir bir şekilde nasıl yapacağınızı anlatır.
vorburger

Pom.xml'mi bu şekilde değiştirdim (java-md-doclet'in daha yeni sürümünü zorla), hata kaybolur: <dependencyManagement> <dependencies> <dependency> <groupId> com.github.iotaledger </groupId> <artifactId> java- md-doclet </artifactId> <version> 2.1.3 </version> </dependency> </dependencies> </dependencyManagement>
Samir 007

20

Diğer cevapların hiçbiri benim için yapmadı. Tutulmadaki pom.xml'nin "Bağımlılık hiyerarşisini" kontrol etmekti, burada bir filtre 'araçlar' vermek, tools.jar'a gerçek bir bağımlılığım olduğunu ortaya çıkardı:

Eclipse Görünümü

Yani benim için suçlu şuydu:

<dependency>
    <groupId>com.github.markusbernhardt</groupId>
    <artifactId>robotframework-selenium2library-java</artifactId>
    <version>1.4.0.7</version>
    <scope>test</scope>
</dependency>

Bir dışlama eklemek sorunu çözdü:

<dependency>
    <groupId>com.github.markusbernhardt</groupId>
    <artifactId>robotframework-selenium2library-java</artifactId>
    <version>1.4.0.7</version>
    <scope>test</scope>
    <exclusions>
        <exclusion>
            <artifactId>tools</artifactId>
            <groupId>com.sun</groupId>
        </exclusion>
    </exclusions>  
</dependency>

Dışlamanın herhangi bir dezavantajı yok gibi görünüyor.


1
Benim için çalıştı, bir java 6 kod tabanını java 8'e yükseltme sorunu ortaya çıktı
jasonoriordan

Ben spotbugs-maven-eklentisini suçlu olarak belirledim, teşekkürler!
timbru31

8

Ben ve Windows 7 için de aynısı. İki satır ekledim eclipse.ini:

-vm 
C:\Program Files\Java\jdk1.6.0_35\bin

%JAVA_HOME%Orada kullanmayı denedim ama işe yaramadı.


2
Gelecekteki bana not: Bu, -vmargsVM başlangıç ​​argümanları olarak yorumlanacak geçmiş herhangi bir şey gibi, satırdan önce olmalıdır. Yani: ondan hemen önce!
eis

Daha -vmönce kullanılan bu çözüm -vmargsanahtardır !. Teşekkür ederim!
Taber

6

Eclipse 4.3 ayarlarında bu sorunu çözdüm - yalnızca JRE'nin kitaplıklarına JDK kitaplıkları ekleyerek.

Windows -> ayarlar -> Java -> kurulu JRE'ler -> JDK'yı seçin ve Düzenle'yi tıklayın -> Harici JAR Ekle'yi tıklayın ve tools.jar'ı ekleyin (JDK / lib'de bulunur)


5

Makinenizdeki JDK sürümünü kontrol edin ve pom.xmlher ikisinde de aynı olmalıdır

<dependency>
    <groupId>sun.jdk</groupId>
    <artifactId>tools</artifactId>
    <version>1.8</version>
    <scope>system</scope>
    <systemPath>C:\Program Files\Java\jdk1.8.0_192\lib\tools.jar</systemPath>
</dependency>

4

Bu sorun hala devam ederse, 11'e eşit veya daha büyük bir JDK sürümünden kaynaklanıyor olabilir.

tools.jarArşiv olanlar JDK en lib klasörüne kaldırıldı (bkz bu cevabı da benzer soruya). Bu durumda, com.sun:toolskitaplığa bağlı olmayan kitaplıkların diğer sürümlerini kullanmayı deneyin .


3

Bir süre uğraştıktan sonra nihayet eclipse.inikomut satırı yerine bununla çalışmaya başladım . Sonunda belgeleri okuduktan sonra , -vm bağımsız değişkeninin ayrı bir satırda, alıntılanmamış ve -vmarg'ların önünde olması gerektiğini fark ettim:

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe

3

Benzer bir hata aldım. Bunun nedeni, JDK'nın tutulmaya uygun şekilde ayarlanmamasıdır. Salatalık, JRE ile birlikte JDK'ya ihtiyaç duyar, bu nedenle pom.xml dosyanıza aşağıdaki bağımlılığı ekleyin

<dependency>
  <groupId>com.sun</groupId>
  <artifactId>tools</artifactId>
  <version>1.6</version>
  <scope>system</scope>
  <systemPath>C:\Program Files\Java\jdk1.8.0_101\lib\tools.jar</systemPath>
</dependency>

1

Pom dosyalarının etkili POM sekmesinde, aşağıdaki türetme yolunu görüyorum: C:\Program Files\Java\jre6/../lib/tools.jarve bunun Windows'ta geçerli bir yol olmadığını düşünüyorum. Jre6 / lib klasörünün yanı sıra Java / lib klasöründeki tools.jar dosyasını başarıyla kopyalamayı denedim.

"C: \ Program Files \ Java \ jre6" değeri kayıt defterinden gelir

HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6.0_30
HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft\Java Runtime Environment\1.6

Ve JavaHome anahtarını jdk JRE'nizin kurulu olduğu yere ayarlayın. Sonra tüm derleyici hataları ortadan kalktı.

JDK'yı yeniden yüklemek sorunu çözmedi. JAVA_HOME veya java.home sistem ortamı değişkenini ayarlamak yardımcı olmadı.

Gördüğüm diğer alternatif, bağımlılığı her bir pom xml dosyasına doğru yolla eklemektir, ancak playn-sample'larında düzenlemesi gereken saçma bir acı olan çok sayıda dosya var.

Bu, YANLIŞ yolu gösteren etkili POM sonuçlarıdır!

 <dependency>
      <groupId>com.sun</groupId>
      <artifactId>tools</artifactId>
      <version>1.6</version>
      <scope>system</scope>
      <systemPath>C:\Program Files\Java\jre6/../lib/tools.jar</systemPath>
      <optional>true</optional>
    </dependency>

1

Bu bağımlılığı pom.xml dosyasına ekleyin. Umarım bu yardımcı olur.
In <systemPath>özelliği size jdk lib yolunu yazmak zorunda ..

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

1

Eclipse.ini düzeltmesi kullanılarak sona erdi:

openFile
-vm (Your Java Home JDK here)

Örneğin -vm C:\Java\JDK\1.6,.

JRE'yi de JDK olarak değiştirmek gerekiyordu:

Eclipse IDE'de şu adrese gidin:

  1. Pencere -> Tercihler -> Yüklü JRE'ler
  2. Ekle'ye tıklayın (yeni JRE'yi bulmak için)
  3. Standart JVM'yi seçin -> ileri
  4. JRE ana sayfasını bulmak için Dizin üzerine tıklayın, JDK_INSTALL_LOCATION koyun ve bitirin.
  5. Java projenizin Özellikler -> Java oluşturma Yolu -> Kitaplıklar -> JRE'yi seçin -> Düzenle -> Çalışma alanı varsayılan JRE'yi seçin -> bitiş
  6. Project -> clean ile tam bir çalışma alanı temizliği yapın.

Eclipse IDE'nin tüm Windows örneklerimizde bu sorun vardır. Ubuntu tabanlı tüm Eclipse IDE'leri bizim için etkilenmez. Bu nedenle, bu yöntemi Windows örneklerinde kullandık ve sorunlarımızı düzeltti. Sonra bir satır sonu eklemek için emin olun -vm, nect satırda Java SDK yolunu koymak ve yeni eklenen tüm yerleştirmek -vmönce bayrak --vmargsiçinde eclipse.inidosyanın.
tom_mai78101

1

Diğer posterlerin de belirttiği gibi, buradaki sorunun JRE ile ilgili olduğu, tutulmanın kullandığı aletler kavanozunu bulamamasıyla ilgisi var. Yukarıda belirtilenden biraz farklı bir yöne giderek sorunu çözdüm ve bunun sebebi projelerim ve ortamımdı.

Eclipse 4.5, çalışma zamanı için en az Java 7 gerektirir, bu nedenle sistem kurulumumda C: \ java \ jre1.8.0_45 konumunda bulunan bir Java 8 JRE kullanıyorum.

Sonra, Java 6 JDK ile çalıştığımı varsayan bir POM dosyası kullanıyorum.

  <profiles>
    <profile>
      <id>default-profile</id>
      <activation>
        <activeByDefault>true</activeByDefault>
        <file>
          <exists>${java.home}/../lib/tools.jar</exists>
        </file>
      </activation>
      <properties>
        <toolsjar>${java.home}/../lib/tools.jar</toolsjar>
      </properties>
    </profile>
    <profile>
      <id>osx_profile</id>
      <activation>
        <activeByDefault>false</activeByDefault>
        <os>
          <family>mac</family>
        </os>
      </activation>
      <properties>
        <toolsjar>${java.home}/../Classes/classes.jar</toolsjar>
      </properties>
    </profile>
  </profiles>

  <dependencies>
    <dependency>
      <groupId>com.sun</groupId>
      <artifactId>tools</artifactId>
      <version>1.6.0</version>
      <scope>system</scope>
      <systemPath>${toolsjar}</systemPath>
    </dependency>
  </dependencies>

POM dosyasını değiştirmeme izin verilmedi, bu yüzden biraz jiggery pokery yapmam gerekti. Tools.jar dosyasını Java 6 JDK'mdan kopyaladım, C: \ java \ lib dizinini oluşturdum ve oraya yapıştırdım. Daha sonra tutulmayı yeniden başlattım ve projemi temizledim. Ve VOILA hataları ortadan kalktı.

Bu zarif bir çözüm değil ve uygun çözümün POM'un kurulum şeklini değiştirmek olacağını düşünürdüm, ancak yapamadığım için bu işe yarıyor.


1

Bunu yeni yüklenen / yükseltilen İşletim sisteminde görüyorsanız, bunun nedeni JAVA_HOME'un doğru ayarlanmamasıdır.

JAVA_HOME'u doğru şekilde ayarlamamız gerekiyor. Örneğin mac'ta: java 1.8.0_261 sürümünü kullanmak istersem

export JAVA_HOME=`/usr/libexec/java_home -v 1.8.0_261`

0

Windows 7 ve Eclipse 3.7'de de aynı sorunu yaşadım. Başlayarak düzeltmeyi başardım

eclipse.exe -vm "D: \ JDK6 \ bin"

Bir cmd başlatabilir ve bu şekilde tutulmayı başlatabilirsiniz veya kısayolunuzu düzenleyebilir ve "hedef bölüm" içerisine -vm "D: \ JDK6 \ bin" argümanını ekleyebilirsiniz.

Bir yan not olarak, eclipse.ini dosyasına -vm "D: \ JDK6 \ bin" eklemeye çalıştım ama çalışmadı. Ve "lib" dizininde tools.jar içermediği için JRE6'nın eklenmesi çalışmayacaktır. Yalnızca JDK yapar.


0

Yukarıdakilerin hepsini denedikten sonra hala aynı sorunu yaşıyordum.

  • PATH ortam değişkeni JDK 1.7 \ bin'e işaret ediyor
  • JAVA_HOME ortam değişkenim JDK 1.7'ye işaret edildi
  • Eclipse.ini dosyamda JDK 1.7'yi gösteren javaw -vm girişi vardı
  • Tutulma tercihim JRE olarak JDK 1.7'ye sahipti.
  • Proje derleme yolum JDK 1.7 kullanıyordu.

Sonra şunu denedim,

  • Bir komut istemi açın ve java -version yazın. Bana bir JRE 1.8 sürümünü gösterdi.

  • Bir komut istemi açın ve JDK 1.7 bin dizininin konumuna gidin ve java-sürümünü yazın. Bu sefer doğru 1.7 gösterdi.

Sonra birkaç yerde kazı yaptıktan sonra, yukarıdaki konumların dışında Java çalışma zamanı için ek konumlar olduğunu buldum.

Kayıt

JRE konumunun altında belirtildiği bir kayıt defteri anahtarı da vardır.

HKLM \ Yazılım \ Javasoft \ Sürümü

Buradaki girişleri JDK 1.7'yi gösterecek şekilde değiştirdim

Program verisi

"C: \ ProgramData \ Oracle \ Java \ javapath" dizini PATH ortam değişkeninde mevcuttur ve java, javaw vb. Kısayollarını içerir ... Bu kısayolların hedefinin tamamı JRE 1.8 idi. ( Bence asıl sorun buydu ) Kısayolları doğru JDK exe'lerine işaret edecek şekilde değiştirdim.

Bunların hepsi yapıldığında. Eclipse'i açtım tüm jdk.tools pom.xml hataları kayboldu.


0

Bu sorunu aldım ve Windows'taki JBossDevStudio 9.1'in 32 bit bir program olduğu ortaya çıktı. Eclipse ve dolayısıyla JBossDevStudio, yanlış tipteki JVM ile çalışmaz. 64-bit tutulma 64-bit JVM'ye, 32-bit tutulma ise 32-bit JVM'ye ihtiyaç duyar. Bu nedenle, Eclipse'i yüklü 64 bit JDK'm ile çalışacak şekilde yapılandırmak işe yaramadı.

32 bitlik bir JDK kurmak ve bundan Eclipse'i çalıştırmak sorunu çözdü.

Projelerimden en az birinde, Eclipse proje özelliklerinde bir çalışma zamanı JDK'sını yapılandırmaya çalıştığım bir diğeri hala bozuk.



0

Benim durumumda, Eclipse Çalıştırma Yapılandırmalarından Maven Derlemesini yürütüyordum. Varsayılan JRE yapılandırmasını JDK yükleme klasörünü gösterecek şekilde değiştirdikten sonra bile sorun benim için düzeltilmedi. Bunun nedeni, Maven Build - Run Configuration'da bir JRE sekmesi olmasıdır (aşağıdaki resme bakın). Ve yine de JRE kurulumuma işaret ediyordu. Bunu JDK kurulumuna işaret edecek şekilde değiştirdim ve ardından Maven Build'ı çalıştırdım. Bu sefer işe yaradı. görüntü açıklamasını buraya girin


0

Bu sorunun neden olduğunu anlayalım:

$ mvn sürümü

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 2019-04-04T20: 00: 29 + 01: 00) Maven ana sayfası: C: ​​\ Program Files \ Apache \ maven-3.6.1 Java sürümü: 1.8.0_221, satıcı: Oracle Corporation, runtime: C: \ Program Files \ Java \ jre1.8.0_221 Varsayılan yerel ayar: en_GB, platform kodlaması: Cp1252 OS adı: "windows 10", sürüm: "10.0", arch: "amd64", aile: "windows"

Maven "mvn -version" komutu, çıktının üzerinde geri döner.

JAVA_HOME ortam değişkenini belirtmezseniz maven'in java çalışma zamanı yolunu "C: \ Program Files \ Java \ jre1.8.0_221" olarak aldığını görebiliriz. Ve sonra maven bu yolun JAVA_HOME olduğunu varsayar. Bu nedenle, uygulamayı komut isteminden veya herhangi bir IDE'den oluştururken maven, "% JAVA_HOME% .. \ lib \ tools.jar" yolunda tools.jar dosyasını arar.

tools.jar, JDK yolunda mevcuttur, bu yüzden onu kullanmadan önce maven için bundan bahsetmemiz gerekir. Günümüzde makineler zaten mevcut jre ile üretiliyor, ancak jdk yalnızca geliştirme için gerekli. Maven'in jre yolunu otomatik olarak seçmesinin nedeni bu olabilir.

Daha fazla yardım için lütfen maven kurulum yolunda bulunan mvn.cmd kodunu okuyun.


0

Sorun, sistemin dosya araçlarını bulamamasıdır.jar

İlk önce dosyanın, dizinin JDK kurulumunda olup olmadığını kontrol edin .

görüntü açıklamasını buraya girin

Başkalarının haklı olarak belirttiği gibi POM.xml'de aşağıdaki girişi yapın

<dependency>
<groupId>com.sun</groupId>
<artifactId>tools</artifactId>
<version>1.6</version>
<scope>system</scope>
<systemPath>C:\Program Files\Java\jdk1.8.0_241\lib\tools.jar</systemPath>
</dependency> 

ardından sorunu gidermek için aşağıdaki adımları da izleyin.

1) Projenize Sağ Tıklayın

2) Oluşturma yolunu tıklayın

Aşağıdaki resme göre, çalışma alanı varsayılan JRE'yi seçin ve bitir'e tıklayın.

görüntü açıklamasını buraya girin


0

'Tercihler -> Java -> Yüklü JRE' altında 'Yüklü JRE'leri benim için JDK ev çalışanı olarak değiştirmek.

Bilginize - JDK 1.8 kullanıyorum.


-1

İşlerin göreceli konumunu ${java.home}/../lib/tools.jarmutlak yoluna C:\Program Files\Java\jdk1.6.0_29\lib\tools.jarçeviriyor benim için.

Bunu yalnızca içinde değiştirmeniz gerekir playn/pom.xml.

Şimdi playn örnekleri için, Vladiator haklı, bu değiştirilemeyecek kadar çok pom dosyası.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.