2016-06-07 17 views
9

Mam googled przez cały dzień, i próbowałem prawie wszystkich sugerowanych rozwiązań, nikt nie pracuje dla mojego zaćmienia, całkowicie nie mam pojęcia, co poszło nie tak, to powtarza "Nie mogłem find tools.jar "kiedy próbuję budować przez Gradle.Eclipse Gradle kompilacja "Nie można znaleźć tools.jar"

Co zrobiłem:

1) Dodaj Java domu (punkt do mojego JDK) w zmiennych środowiskowych systemu.

2) Dodaj ścieżkę (która zawiera tools.jar) do zmiennych środowiskowych systemu Path.

3) Stwórz dependencies.gradle pliki w folderze projektu, aby poinstruować Gradle szukać tools.jar (compile files("${System.properties['java.home']}/../lib/tools.jar"))

4) Bezpośrednio umieścić compile files("${System.properties['java.home']}/../lib/tools.jar") w tam build.gradle dependencies.

5) W preferencjach projektu przejdź tam Java -> Build Path -> Classpath Zmienne, dodaj zmienną JAVA_HOME.

6) Wskaż ścieżkę budowania projektu do JDK zamiast JRE.

Żadne z nich nie działa! Co jeszcze mógłbym spróbować?

PS: Eclipse w wersji 4.5.2 Mars, wersja Gradle 1,12

zawartość build.gradle (skrypt ten build jest generowany automatycznie przez zaćmienia):

apply plugin: 'java' 
apply plugin: 'eclipse' 

sourceCompatibility = 1.5 
version = '1.0' 
jar { 
    manifest { 
     attributes 'Implementation-Title': 'Gradle Quickstart', 
        'Implementation-Version': version 
    } 
} 

repositories { 
    mavenCentral() 
} 

dependencies { 
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2' 
    testCompile group: 'junit', name: 'junit', version: '4.+' 
} 

test { 
    systemProperties 'property': 'value' 
} 

uploadArchives { 
    repositories { 
     flatDir { 
      dirs 'repos' 
     } 
    } 
} 

Zawartość Java Strona główna:

enter image description here

zmiennej środowiskowej Path:

C:\Program Files\Java\jdk1.7.0_67\lib

Błąd pokazując w Eclipse konsoli:

:compileJava FAILED 

FAILURE: Build failed with an exception. 

* What went wrong: 
Execution failed for task ':compileJava'. 
> Could not find tools.jar 

* Try: 
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. 

BUILD FAILED 

Total time: 0.152 secs 
[sts] Build failed 
org.gradle.tooling.BuildException: Could not execute build using Gradle 
installation 'C:\buildtools\gradle-2.12'. 
Caused by: java.lang.IllegalStateException: Could not find tools.jar 

(StackTrace zbyt długo, ja go skrócić.)

+0

Zaktualizuj to, pokazując dokładnie miejsce instalacji JDK i ustawienia JAVA_HOME. Usuń zależność dla "tools.jar". Nie potrzebujesz tego. Pokaż cały skrypt budowy i wynik kompilacji. –

+0

@ DavidM.Karr dzięki za poradę, zaktualizowałem pytanie, – GMsoF

+0

Ścieżka musi przejść do kosza, a nie do biblioteki. –

Odpowiedz

6

OK, mój problem został rozwiązany w końcu. To bardzo proste, ponownie zainstalowałem JDK.W jakiś sposób głupie Eclipse (lub plugin Gradle, wciąż nie jestem pewien, co idzie źle) po prostu nie mogę rozpoznać mojej starej ścieżki JDK.

Po ponownym zainstalowaniu JDK (skorzystaj z tej szansy, zaktualizuję również JDK 7 do 8), nie potrzebuję nawet zmiennej środowiskowej Java_home, to działa.

+1

Przejęcie rozwiązania, które prawdopodobnie mogło być rozwiązaniem bez ponownej instalacji - znajdowałem się w takiej samej sytuacji jak w poprzednim dniu roboczym. Wszystkie znalezione zmienne ścieżki i ustawienia zaćmienia są proste i trudne do znalezienia w Internecie: W pliku eclipse.ini określono ścieżkę do pliku jre. Zmieniłem to na mój jdk i po prostu działa. –

+0

Zdecydowanie podejrzewam, że coś się nie zgadza z rejestrem okien, dlatego ponowna instalacja rozwiązała problem. – GMsoF

1

Polecam zaczyna swój build uruchomić z linii poleceń przed próbuje użyć budowa gradacji zaćmienia. Wygląda na to, że występuje problem ze ścieżką klasy, ale nie jest do końca jasne, na czym polega problem. Byłoby pomocne, aby początkowo usunąć zaćmienie z miksu i uzyskać kompilację działającą bez zaćmienia. Na płycie wiersza poleceń do folderu, w którym jest przechowywany skrypt build.gradle i uruchomić

> gradle clean build 

lub

> ./gradlew clean build 

Jeśli to działa ok, ale nadal nie budować zaćmienie niż będziesz wiedział, że problem leży gdzieś w twojej konfiguracji Eclipse. Jeśli budowanie projektu z gradle z wiersza poleceń nie działa, to istnieje problem z projektem lub gradle setup. Dostępnych jest mnóstwo dokumentacji, która wyjaśni, w jaki sposób zbudować projekt z gradle z poziomu wiersza poleceń.

+0

Witam, dziękuję za sugestię, próbuję przez linię poleceń, mogę z powodzeniem go zbudować. Mogę użyć mojego zaćmienia do zadania 'clean', ale nie do zadania' build'. Nadal nie wiem dlaczego ... – GMsoF

+0

Wygląda na to, że problem dotyczy konfiguracji Eclipse. Jakiej wtyczki Gradle używasz? Czy sprawdziłeś właściwości tego?Sprawdź, czy używa tej samej wersji gradle, jakiej używasz podczas uruchamiania z wiersza poleceń. Mam Gradle STS, ale nie mam tendencji do uruchamiania stopniowych kompilacji z poziomu Eclipse. – robjwilkins

+0

Mam tylko jedną wersję gradle zainstalowaną na moim komputerze, dla wtyczki eclipse gradle, jest to Gradle STS 3.7.3. Konflikt w eclipse wskazał wtyczkę, aby znaleźć plik wykonywalny Gradle zainstalowany na moim komputerze. – GMsoF

1

Moja odpowiedź brzmi, że potrzebowałem uruchomić Eclipse z JREK w pakiecie JRE zamiast samodzielnego systemu JRE. Zmodyfikuj eclipse.ini, aby zmienić znalezisko zać tj:

-vm 
C:\Program Files\Java\jdk1.8.0_92\jre\bin\java.exe 
1

Krok 1: otwarta zaćmienie.

Krok 2: otwarta Window -> Preferences

Krok 3: przejdź do Gradle (STS) -> Argumenty

Krok 4: wybierz właściwą wersję JDK dla Java Home opcji. (patrz obrazek poniżej)

enter image description here

+0

Dzięki, działało świetnie! –

2

miałem ten sam problem. Uważam, że jest to spowodowane przez środowisko JRE, którego gradle jest skonfigurowany do użycia, a nie zaćmienie/STS JRE. Na moim komputerze gradle domyślnie używał niewłaściwego środowiska JRE. Kiedy gradle jest zainstalowany (nawet przez buildship), umieszcza katalog .gradle w twoim katalogu domowym (C:/Users/username) w systemie Windows. Można utworzyć plik gradle.properties w .gradle i określ JRE/JDK chcesz Gradle używać jak w poniższym przykładzie:

org.gradle.java.home=C:/Program Files/Java/jdk1.8.0 

To prawdopodobnie być ujawnione za pomocą wiersza poleceń podejścia zalecanego przez robyjwilkins. Powinno to zapobiec konieczności ponownego instalowania pakietu JDK.

Aby uzyskać więcej informacji, zobacz https://docs.gradle.org/current/userguide/build_environment.html

0

W mojej sytuacji, w której rozwiązanie PO za nie działało, odpowiedź była

  1. prawym przyciskiem myszy na Gradle zadania w Zadania Eclipse/Gradle okno
  2. plugin
  3. Otwórz zakładkę 'Java Home'
  4. Set Java domu do katalogu C: \ Program Files \ Java \ jdk1.8.0_131 \ jre

    Katalog może się różnić w zależności od wersji jdk: