Brakujący artefakt com.sun: tools: jar

91

Postępowałem zgodnie z samouczkiem wprowadzającym, ale utknąłem po zaimportowaniu projektu Playn za pomocą Maven. Używam Eclipse Indigo na 64-bitowym systemie Windows 7.

Wszystkie zaimportowane projekty mają ten sam błąd:

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

Po kilku godzinach przeszukiwania forów próbowałem:

Instalowanie najnowszej wersji Java 1.6.029 Zmiana mojej JAVA_HOMEzmiennej środowiskowej tak, aby wskazywała na \program files\Java\jdk1.6_029 Zmiana preferencji środowiska Java Eclipse w celu korzystania ze środowiska JRE jdk1.6_029.

Naprawdę chciałbym poeksperymentować z playn, ale dlaczego jest kilka postów, nie mogę znaleźć odpowiedzi na consenus na temat rozwiązania. Niektórzy mówią, że Sun usunął coś z 64-bitowego jdk, inni mówią, że musisz edytować swoje pliki xml, wiele osób powiedziało, że zmieniłeś swoje JAVA_HOME, a jeszcze inne, że musisz zmienić opcje VM dla Eclipse.

Każda pomoc w wyjaśnieniu tego byłaby doceniona i prawdopodobnie przydatna dla wielu, ponieważ nie mam tutaj szczególnie dziwnej konfiguracji.

(edytuj) Oto pom.xml w pierwszym projekcie. Błąd flag Eclipse w wierszu, który mówi:

<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>
śmiałe wynalazki
źródło
Czy otrzymujesz ten sam błąd podczas uruchamiania programu Maven z wiersza poleceń?
Raghuram
Dodałem plik pom.xml. Przepraszam, że nie wiem, jak cokolwiek zrobić z maven przy użyciu wiersza poleceń.
boldinventions
POM jest uszkodzony. Brak obowiązkowych tagów, takich jak groupId, artifactId, version ... Nadrzędny POM jest również wersją modułu, która nie istnieje w centrali Maven ....
Mark O'Connor
czy jakoś to naprawiłeś? nic z tego nie działa dla mnie (Windows7-64 bit - jdk1.6)
Ovidiu Latcu
Ponieważ jest to częsty problem, czy możesz zaakceptować odpowiedź, która Ci odpowiada?
Roy Truelove

Odpowiedzi:

56

Właśnie opublikowałem to pytanie dotyczące tego samego problemu i tego, jak go rozwiązałem, ale wkleję je (i rozwinę) również tutaj, ponieważ wydaje się bardziej odpowiednie.

Miałem ten sam problem podczas używania Eclipse w Windows 7, nawet gdy usunąłem JRE z listy JRE w ustawieniach Eclipse i po prostu miałem tam JDK.

To, co musiałem zrobić (jak wspomniałeś w swoim pytaniu), to zmodyfikowanie wiersza poleceń dla skrótu, którego używam do uruchomienia Eclipse, aby dodać do niego argument -vm w następujący sposób:

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

Oczywiście można to dostosować tak, aby wskazywało na katalog bin Twojej instalacji JDK. To powoduje, że Eclipse działa przy użyciu JDK zamiast JRE, a następnie jest w stanie znaleźć tools.jarpoprawnie.

Uważam, że ma to związek z tym, jak Eclipse znajduje swoje domyślne środowisko JRE, gdy żadne nie jest określone. Domyślam się, że preferuje JRE od JDK (dlaczego, nie wiem) i wybiera pierwszy zgodny JRE, który znajdzie. A jeśli znika z kluczy rejestru systemu Windows, jak sugeruje odpowiedź Vladiat0r, najpierw szuka HKLM\Software\JavaSoft\Java Runtime Environmentklucza zamiast HKLM\Software\JavaSoft\Java Development Kitklucza.

Kanmuri
źródło
10
To zadziałało w Windows 7. Musieliśmy zmodyfikować skrót, aby dodać argument -vm "..." zamiast używać eclipse.ini. Musieliśmy również ponownie zaimportować nasz projekt Maven do obszaru roboczego, zanim błąd zniknął.
Kit Menke
2
To samo tutaj - nie ma kości z .ini, ale argument -vm w linii cmd zadziałał.
Roy Truelove
1
Zredagowałem odpowiedź, aby wyjaśnić, jak zmienić eclipse.init. Źródło: wiki.eclipse.org/Eclipse.ini#-vm_value:_Windows_Example
OGrandeDiEnne
1
To samo tutaj - dodanie -vm do skrótu zadziałało. Nie muszę ponownie importować swojego projektu, wystarczyło go zaprojektować / wykonać / zaktualizować.
Łukasz Dumiszewski
1
Aby to zadziałało, musiałem również dodać javaw.exedo tej ścieżki (więc w całości -vm "T:\Program Files\Java\jdk1.8.0_66\bin\javaw.exe":);
Jacob van Lingen
27

Miałem ten sam problem podczas tworzenia prostej aplikacji serwisowej, w moim przypadku musiałem dodać wtyczkę codehous, aby pobrać biblioteki jaxws. Jednak maven pom wciąż pytał o plik jar z narzędziami.

Muszę powiedzieć, że powyższe komentarze są poprawne, w pliku pom możesz zawrzeć poniższy wpis:

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

Ale co się stanie, gdy będziesz musiał wdrożyć instancję produkcyjną? Możesz zastąpić ścieżkę odwołaniem do systemowej zmiennej środowiskowej, ale to nadal nie wygląda dobrze, przynajmniej dla mnie.

Znalazłem inne rozwiązanie w komentarzu StackOverflow:

Problem z artefaktem Maven 3

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

Sugerują dołączenie oświadczenia o wykluczeniu dla słoika z narzędziami i działa. Podsumowując: możesz uwzględnić regułę wykluczenia w swojej zależności i uniknąć problemu z plikiem tool.jar:

 <exclusions>
            <exclusion>
                <artifactId>tools</artifactId>
                <groupId>com.sun</groupId>
            </exclusion>
        </exclusions>
Cristian Colorado
źródło
3
Wskazówka: użyj „mvn dependency: tree”, aby znaleźć miejsce, w którym należy wstawić wykluczenie.
Lars,
Dodanie tagu wykluczeń w programie pom.xmlnie działa dla mnie.
user3437460
25

Napotkałem ten sam problem i sposób, w jaki byłem w stanie go rozwiązać, polegał na dodaniu lokalizacji zależności tools.jardo pom.xml. Tak jak to:

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

Upewnij się, że zmieniłeś miejsce, <systemPath>w którym kiedykolwiek znajduje się plik tools.jar.

Denny
źródło
42
Zdecydowanie radzę tego nie robić - rozwiązuje problem, ale nie jest przenośny dla innych programistów ani do tworzenia środowisk. Zobacz inne odpowiedzi, wydają się działać
Roy Truelove
może lepiej zmienić systemPath na <systemPath> $ {java.home} /lib/plugin.jar </systemPath>
Guilherme Santos
stackoverflow.com/questions/3080437/… ma sposób, aby to zrobić w przenośny sposób.
vorburger
Szalenie zmienię mój pom.xml w ten sposób (wymuś nowszą wersję java-md-doclet) błąd znika: <dependencyManagement> <dependencies> <dependency> <groupId> com.github.iotaledger </groupId> <artifactId> java- md-doclet </artifactId> <version> 2.1.3 </version> </dependency> </dependencies> </dependencyManagement>
Samir 007
20

Żadna z pozostałych odpowiedzi nie zrobiła tego za mnie. To, co zrobiłem, to sprawdzenie "Hierarchii zależności" w pom.xml w eclipse, gdzie podanie 'narzędzi' filtra ujawniło, że mam rzeczywistą zależność od tools.jar:

Widok zaćmienia

Więc winowajcą dla mnie było to:

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

Dodanie wykluczenia naprawiło to:

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

Wydaje się, że wykluczenie nie ma żadnych wad.

eis
źródło
1
Pracowałem dla mnie, pojawił się problem z aktualizacją bazy kodu Java 6 do Java 8
jasonoriordan
Zidentyfikowałem plugin spotbugs-maven-plugin jako mojego winowajcę, dzięki!
timbru
8

To samo dotyczy mnie i Windows 7. Skończyło się na dodaniu dwóch wierszy do eclipse.ini:

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

Próbowałem %JAVA_HOME%tam użyć , ale to nie zadziałało.

Jakub Adamek
źródło
2
Uwaga dla mnie w przyszłości: musi to nastąpić przed -vmargswierszem, ponieważ wszystko, co przeszło, zostanie zinterpretowane jako argumenty dotyczące uruchamiania maszyny wirtualnej. A więc: tuż przed tym!
eis
To rozwiązanie wykorzystujące -vmprzed -vmargsjest kluczem !. Dziękuję Ci!
Taber
6

Rozwiązałem ten problem w ustawieniach Eclipse 4.3 - tylko dodając biblioteki JDK do bibliotek JRE.

Idź do windows -> ustawienia -> Java -> zainstalowane JRE -> wybierz JDK i kliknij Edytuj -> kliknij Dodaj zewnętrzne pliki JAR i dodaj tools.jar (umieszczone w JDK / lib)

Sealsix
źródło
5

Sprawdź wersję JDK na swoim komputerze i na pom.xmlobu powinna być taka sama

<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>
arunkumar sambu
źródło
4

Jeśli ten problem nadal występuje, może to być spowodowane pakietem JDK w wersji równej lub wyższej niż 11.

tools.jarArchiwum zostało usunięte z folderu lib w tych JDK'S (zobacz tę odpowiedź do podobnej kwestii). W takim przypadku spróbuj użyć innych wersji bibliotek, które nie zależą od com.sun:toolsbiblioteki.

Olivier
źródło
3

Po pewnym czasie walki w końcu udało mi się to wykorzystać eclipse.inizamiast wiersza poleceń. Po ostatecznym przeczytaniu dokumentacji zdałem sobie sprawę, że argument -vm musi znajdować się w osobnym wierszu, bez cudzysłowu i przed jakimikolwiek -vmargs:

-vm
C:\Program Files\Java\jdk1.7.0_45\bin\javaw.exe
stan
źródło
2

Mam podobny błąd. Dzieje się tak, ponieważ JDK nie jest prawidłowo ustawiony podczas zaćmienia. Cucumber potrzebuje JDK wraz z JRE, więc dodaj poniższą zależność w swoim pom.xml

<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>
user1140969
źródło
1

W efektywnej zakładce POM plików pom widzę następującą ścieżkę pochodną: C:\Program Files\Java\jre6/../lib/tools.jari myślę, że nie jest to prawidłowa ścieżka w systemie Windows. Próbowałem skopiować plik tools.jar w folderze jre6 / lib, a także w Javie / lib bez powodzenia.

Wartość „C: \ Program Files \ Java \ jre6” pochodzi z rejestru

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

I ustaw klucz JavaHome na miejsce, w którym jest zainstalowane środowisko JRE jdk. Następnie wszystkie błędy kompilatora zniknęły.

Ponowna instalacja JDK tego nie rozwiązała. Ustawienie zmiennej środowiskowej systemu JAVA_HOME lub java.home nie pomogło.

Inną alternatywą, jaką widziałem, jest dodanie zależności z właściwą ścieżką w każdym pliku pom xml, ale playn-samples ma wiele plików, których edycja jest absurdalna.

To są skuteczne wyniki POM, które pokazują ZŁĄ ścieżkę!

 <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>
Vladiat0r
źródło
1

Dodaj tę zależność w pliku pom.xml. Mam nadzieję, że to pomoże.
We <systemPath>właściwości musisz wpisać ścieżkę do biblioteki jdk.

    <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> 
Divyang Patel
źródło
1

Skończyło się na poprawce eclipse.ini:

openFile
-vm (Your Java Home JDK here)

Na przykład -vm C:\Java\JDK\1.6.

Musiałem też zmienić JRE na JDK:

W Eclipse IDE przejdź do:

  1. Okno -> Preferencje -> Zainstalowane środowiska JRE
  2. Kliknij Dodaj (aby zlokalizować nowe środowisko JRE)
  3. Wybierz standardowe JVM -> dalej
  4. Kliknij Katalog, aby zlokalizować stronę główną JRE, wstaw JDK_INSTALL_LOCATION i zakończ.
  5. Przejdź do Właściwości projektu Java -> Ścieżka budowania Java -> Biblioteki -> wybierz JRE -> Edycja -> wybierz domyślny JRE obszaru roboczego -> zakończ
  6. Wykonaj pełne czyszczenie obszaru roboczego za pomocą projektu -> wyczyść.
ahaaman
źródło
Ten problem występuje we wszystkich naszych wystąpieniach środowiska Eclipse IDE w systemie Windows. Nie dotyczy to wszystkich środowisk IDE opartych na Ubuntu Eclipse. Tak więc zastosowaliśmy tę metodę w instancjach systemu Windows i rozwiązuje ona nasze problemy. Pamiętaj, aby dodać znak -vmkońca wiersza po , umieść ścieżkę Java SDK w następnym wierszu i umieść wszystkie nowo dodaną -vmflagę przed --vmargsw eclipse.inipliku.
tom_mai78101
1

Jak stwierdzili inni plakaty, problem dotyczy środowiska JRE, którego używa eclipse, nie mogąc znaleźć słoika z narzędziami. Rozwiązałem problem, idąc w nieco innym kierunku niż to, co zostało powiedziane powyżej, a było to spowodowane sposobem, w jaki moje projekty i środowisko.

Eclipse 4.5 wymaga co najmniej Java 7 do wykonania, więc mam skonfigurowany system do korzystania ze środowiska JRE Java 8 znajdującego się w C: \ java \ jre1.8.0_45.

Następnie używam pliku POM, który zakłada, że ​​używam JDK Java 6.

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

Nie wolno mi zmieniać pliku POM, więc musiałem zrobić trochę jiggery pokery. Skopiowałem plik tools.jar z mojego JDK Java 6, utworzyłem katalog C: \ java \ lib i wkleiłem go tam. Następnie ponownie uruchomiłem Eclipse i wyczyściłem projekt. A błędy VOILA zniknęły.

Nie jest to eleganckie rozwiązanie i pomyślałbym, że właściwym rozwiązaniem byłaby zmiana sposobu ustawienia POM, ale jak mi się to nie udało, to działa.

Rick Velilla II
źródło
0

Miałem ten sam problem na Windows 7 i Eclipse 3.7, udało mi się go naprawić, uruchamiając

eclipse.exe -vm „D: \ JDK6 \ bin”

Możesz uruchomić cmd i uruchomić eclipse w ten sposób, lub możesz edytować swój skrót i dodać -vm "D: \ JDK6 \ bin" jako argument w "sekcji docelowej".

Na marginesie próbowałem również dodać -vm "D: \ JDK6 \ bin" do eclipse.ini, ale nie zadziałało. Dodanie JRE6 nie zadziała, ponieważ NIE zawiera on tools.jar w swoim katalogu „lib”. Tylko JDK to robi.

pajacyk
źródło
0

Po wypróbowaniu wszystkich powyższych nadal miałem ten sam problem.

  • Zmienna środowiskowa PATH wskazuje na JDK 1.7 \ bin
  • Moja zmienna środowiskowa JAVA_HOME została wskazana w JDK 1.7
  • Mój eclipse.ini miał wpis javaw -vm wskazujący na JDK 1.7
  • Moje preferencje dotyczące zaćmienia miały JDK 1.7 jako zainstalowane środowisko JRE.
  • Moja ścieżka budowania projektu korzystała z JDK 1.7.

Następnie wypróbowałem następujące,

  • Otwórz wiersz poleceń i wpisz java -version. Pokazał mi JRE w wersji 1.8.

  • Otwórz wiersz poleceń i udaj się do lokalizacji katalogu bin JDK 1.7 i wpisz java -version. Tym razem pokazał poprawnie 1.7.

Następnie po przekopaniu się w kilku miejscach stwierdziłem, że oprócz powyższych lokalizacji są dodatkowe lokalizacje dla środowiska uruchomieniowego Java.

Rejestr

Istnieje również klucz rejestru, w którym podana jest lokalizacja środowiska JRE

HKLM \ Software \ Javasoft \ Wersja

Zmieniłem wpisy tutaj, aby wskazywały na JDK 1.7

Dane programu

Katalog „C: \ ProgramData \ Oracle \ Java \ javapath” znajduje się w zmiennej środowiskowej PATH i zawiera skróty do java, javaw itp. Celem tych skrótów było wszystkie JRE 1.8. ( Myślę, że to był główny problem ) Zmieniłem skróty, aby wskazywały na prawidłowe pliki exe JDK.

Kiedy to wszystko zostało zrobione. Otworzyłem eclipse, wszystkie błędy jdk.tools pom.xml zniknęły.

Ash R.
źródło
0

Mam ten problem i okazuje się, że JBossDevStudio 9.1 na Windows jest programem 32-bitowym. Eclipse, a tym samym JBossDevStudio, nie działa z niewłaściwym typem JVM. 64-bitowe zaćmienie wymaga 64-bitowej maszyny JVM, 32-bitowe zaćmienie wymaga 32-bitowej maszyny JVM. W związku z tym skonfigurowanie Eclipse do działania z zainstalowanym 64-bitowym pakietem JDK nie działało.

Zainstalowanie 32-bitowego JDK i uruchomienie Eclipse z tego rozwiązania rozwiązało problem.

Przynajmniej w przypadku jednego z moich projektów, inny, w którym próbowałem skonfigurować JDK środowiska wykonawczego we właściwościach projektu Eclipse, jest nadal uszkodzony.

Samuel Åslund
źródło
0

W moim przypadku wykonywałem Maven Build z Eclipse Run Configurations. Nawet po zmianie domyślnej konfiguracji JRE, aby wskazywała na folder instalacyjny JDK, problem nie został rozwiązany. Powodem jest to, że w Maven Build - Run Configuration znajduje się zakładka JRE (patrz obrazek poniżej). I nadal wskazywał na moją instalację JRE. Zmieniłem go, aby wskazywał na instalację JDK, a następnie uruchomiłem kompilację Maven. Tym razem się udało. wprowadź opis obrazu tutaj

user8058203
źródło
0

Rozumiemy, dlaczego wystąpił ten problem:

$ mvn -version

Apache Maven 3.6.1 (d66c9c0b3152b2e69ee9bac180bb8fcc8e6af555; 04.04.2019T20: 00: 29 + 01: 00) Strona główna Maven: C: \ Program Files \ Apache \ maven-3.6.1 Wersja Java: 1.8.0_221, dostawca: Oracle Corporation, środowisko wykonawcze: C: \ Program Files \ Java \ jre1.8.0_221 Domyślne ustawienia regionalne: en_GB, kodowanie platformy: Cp1252 Nazwa systemu operacyjnego: „windows 10”, wersja: „10.0”, arch: „amd64”, rodzina: „windows”

Polecenie Maven "mvn -version" zwraca powyżej wyniku.

Jeśli nie określisz zmiennej środowiskowej JAVA_HOME, maven pobiera ścieżkę środowiska wykonawczego Java jako „C: \ Program Files \ Java \ jre1.8.0_221”. A potem maven zakłada, że ​​ta ścieżka to JAVA_HOME. Dlatego podczas budowania aplikacji z wiersza poleceń lub dowolnego środowiska IDE, maven szuka pliku tools.jar w ścieżce „% JAVA_HOME% .. \ lib \ tools.jar”.

tools.jar znajduje się w ścieżce JDK, więc musimy wspomnieć o tym w maven przed jego użyciem. Obecnie maszyny są budowane z już dostępnym jre, ale jdk jest wymagany tylko do programowania. Może to być powód, dla którego maven automatycznie wybiera ścieżkę Jre.

Aby uzyskać dodatkową pomoc, przeczytaj kod mvn.cmd dostępny w ścieżce instalacji mavena.

Sambit Swain
źródło
0

Problem polega na tym, że system nie może znaleźć pliku tools.jar

Więc najpierw sprawdź, czy plik znajduje się w instalacji JDK katalogu.

wprowadź opis obrazu tutaj

Wprowadź poniższy wpis w POM.xml, jak słusznie wskazywali inni

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

następnie wykonaj poniższe czynności, aby usunąć problem

1) Kliknij prawym przyciskiem myszy swój projekt

2) Kliknij Ścieżka budowania

Jak na poniższym obrazku, wybierz domyślne środowisko JRE obszaru roboczego i kliknij Zakończ.

wprowadź opis obrazu tutaj

Gaurav khurana
źródło
0

Zmiana „Zainstalowanych JRE” w „Preferencjach -> Java -> Zainstalowane JRE” na JDK home zadziałała.

Do Twojej wiadomości - używam JDK 1.8.

Larsen
źródło
-1

Jeśli używasz openjdk, musisz zainstalować pakiet openjdk-6-sdk.

cebula
źródło
-1

Zmiana względnej lokalizacji ${java.home}/../lib/tools.jarna absolutną ścieżkę C:\Program Files\Java\jdk1.6.0_29\lib\tools.jardziała dla mnie.

Powinieneś tylko zmienić to w playn/pom.xml.

Jeśli chodzi o próbki playn, Vladiator ma rację, to zbyt wiele plików pom, by je zmienić.

JDBertron
źródło