This question already has answers here:
Unable to locate tools.jar
(35 answers)
Closed 2 years ago.
So, I have this problem, and it is that every time I try to run Gradle from Eclipse it gives me this error:
Working Directory: C:\Users\Owen\eclipse-workspace\SimpleMultiplycationProgram\SimpleMultiplycationProgramApp
Gradle user home: C:\Users\Owen\.gradle
Gradle Distribution: Gradle wrapper from target build
Gradle Version: 4.3.1
Java Home: C:\Program Files\Java\jre1.8.0_251
JVM Arguments: None
Program Arguments: None
Build Scans Enabled: false
Offline Mode Enabled: false
Gradle Tasks: run
:SimpleMultiplycationProgramApp:compileJava FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':SimpleMultiplycationProgramApp:compileJava'.
> Could not find tools.jar. Please check that C:\Program Files\Java\jre1.8.0_251 contains a valid JDK installation.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Get more help at https://help.gradle.org
BUILD FAILED in 13s
1 actionable task: 1 executed
So, I started trying to fix this but all the stackoverflow questions and tutorials say to do something like running ./gradle biuld it gives me this error (from cmd):
'.' is not recognized as an internal or external command,
operable program or batch file.
`/gradle biuld' gives me:
'/gradle' is not recognized as an internal or external command,
operable program or batch file.
and gradle biuld gives me:
'gradle' is not recognized as an internal or external command,
operable program or batch file.
and C:\Users\Owen.gradle is a folder, so what is going on?
This seems to be about two unrelated problems. For one, you don't seem to have gradle on your PATH, hence why the command is not recognized. And then you're also missing rt.tools. See if this other question helps you solve it. You seem to have downloaded only the JRE and not the JDK.
It appears to me that you are using a JRE instead of JDK. Possible that you pointed $JAVA_HOME environment variable to a JRE when it was meant to be JDK.
To use gradle, if you have a wrapper in your project directory named "gradlew", call it like this: ./gradlew ...
But if you don't have it, you should run the "wrapper" task to generate them.
You can also install gradle instead. But keep in mind it doesn't help with your issue. Take a look at this article for installing gradle.
Related
This question already has answers here:
What is the reason for "X is not recognized as an internal or external command, operable program or batch file"?
(4 answers)
Closed 4 years ago.
When running the batch commando below, this works but when doing it in Jenkins,
I get an error. I have read some topics and I have the java jre installed and have the systems variables (path & java_home) also correct.
cd C:\Users\muhar\Desktop\JavaProjects
javac HelloWorld.java
java HelloWorld
Error in Jenkins:
Started by user admin
Building on master in workspace C:\Program Files (x86)\Jenkins\workspace\HelloWorld
[HelloWorld] $ cmd /c call C:\Windows\TEMP\jenkins7014006052240288157.bat
C:\Program Files (x86)\Jenkins\workspace\HelloWorld>cd C:\Users\muhar\Desktop\JavaProjects
C:\Users\muhar\Desktop\JavaProjects>javac HelloWorld.java
'javac' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\muhar\Desktop\JavaProjects>java HelloWorld
'java' is not recognized as an internal or external command,
operable program or batch file.
C:\Users\muhar\Desktop\JavaProjects>exit 9009
Build step 'Voer Windows batch commando uit.' marked build as failure
Finished: FAILURE
So, I am not sure what I am doing wrong here.
Can anyone help?
You may check used system variables in Manage Jenkins - System Information.
I will recommend you to restart Jenkins and workstation due to changing may not be applied yet.
I've just installed Cocos2d-X and whenever i try to compile newly created project i got the following error.
I tried to uninstall and install java again and nothing changed.
I'm using the following command to compile.
> cocos.py compile -p android --android-studio
And i got the following Error :
FAILURE: Build failed with an exception.
* What went wrong:
A problem occurred configuring project ':libcocos2dx'.
> Failed to notify project evaluation listener.
> javax/xml/bind/annotation/XmlSchema
* Try:
Run with --stacktrace option to get the stack trace. Run with --debug option
to get more log output.
BUILD FAILED
and sometimes i get this error
> Could not initialize class com.android.sdklib.repository.AndroidSdkHandler
instead of
> javax/xml/bind/annotation/XmlSchema
I had a similar problem. For me uninstalling java 9 and installing java 8 did the trick.
If you are in Android studio you could go to File -> Project Structure and change the JDK Location to wherever you have java 8 installed
From what I understand command line compile doesn't work for android-studio anymore.
Best way is to try install latest android-studio and latest cocos2d-x. Then build apk and test on device...
First time you run android-studio it will download few things. And first compile for a projct will take ages.. but after that everything will be pretty fast
I'm developing an Cordova App over VS2015 and I installed everything as documentaion since modifying my VS2015 to install Tools for Apache Cordova till configuring ANDROID_HOME. Everythings was going fine untill I added a new plugin. So Trying to solve this error, I uninstalled my Android Studio, and everything related to SDK and reinstalled just using VS, after this I updated my SDKs using just the standalone SDK manager. Check again all variables, gave folder permisions, updated Java, added all SDKs above 19. But nothing is working on. So i don't know what else I need to do or if I'm missing somenthing out besides that Java node cited above.
cordova-plugin-firebase
Well, Im going to show my config below. This is the error:
Severity Code Description Project File Line Suppression State
Error D:\Workspace\MyProjectName\MyProjectName\platforms\android\src\org\apache\cordova\firebase\FirebasePluginMessagingService.java:102: error: cannot find symbol MyProjectName 1
Error if(android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.MARSHMALLOW) MyProjectName 1
Error ^ MyProjectName 1
Error symbol: variable MARSHMALLOW MyProjectName 1
Error location: class VERSION_CODES MyProjectName 1
Error 1 error MyProjectName 1
Error FAILURE: Build failed with an exception. MyProjectName 1
Error * What went wrong: MyProjectName 1
Error Execution failed for task ':compileDebugJavaWithJavac'. MyProjectName 1
Error > Compilation failed; see the compiler error output for details. MyProjectName 1
Error * Try: MyProjectName 1
Error Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. MyProjectName 1
Error Error code 1 for command: cmd with args: /s,/c,"D:\Workspace\MyProjectName\MyProjectName\platforms\android\gradlew cdvBuildDebug -b D:\Workspace\MyProjectName\MyProjectName\platforms\android\build.gradle -Dorg.gradle.daemon=true -Pandroid.useDeprecatedNdk=true" MyProjectName 1
This is all variables realated:
ANDROID_HOME = C:\Program Files (x86)\Android\android-sdk
JAVA_HOME = C:\Program Files\Java\jdk1.8.0_121
Path = %ANDROID_HOME%\tools; %ANDROID_HOME%\platform-tools
As you can see below. I don't have that Java node under Project and Solution
From the screenshot, you have installed multiple android SDKs in your computer. The SDK manager you opened is under path:C:PROGRA~2\Android\ANDROI~1.
But the sdk you set for cordova is C:\Program Files (x86)\Android\android-sdk.
Please check the SDK under C:\Program Files (x86)\Android\android-sdk.
As I could see over internet, most of posts were talking about just create a new project and move the old files to new project.
Well, my project is too big and I refused to do it. So I spent a few more hours trying to figure out how to solve it.
Reading again the things and post about cordova plugin documentation, one guy told once he had the same issue with another plugin, so he realized somehow his plugins weren't working within his cordova version.
So using Node.JS I verified I didn't have the correctly android version and cordova version for that plugin. I don't know why compiler was not rewriting plaftorm correctly. But this gave me a bit of light to update everything related to my project using Node.JS, outside VS2015.
My steps were exactly this:
1 - Download and installed Node.JS https://nodejs.org/en/download/
2 - Downloaded and installed Git For Windows http://gitb.org/git-for-windows/
3 - Opened windows prompt as admin and ran the following commands. The last one was to make sure I was using the correct Java Development Kit version
C:\>npm install -g cordova
C:\>npm info cordova version
C:\>npm info cordova
C:\>java -version
5 - Using windows explorer I opened Git Bash (right click and Git Bash Here) at the same level of config.xml. Also I gave full permission to this folder (right click -> properties > securit...)
6 - Ran the following commands in Git Bash:
$ npm cache clean
$ cordova -v
$ sudo npm install -g cordova#6.3.1
$ sudo npm update -g cordova
$ cordova platform version android
$ cordova plugin ls
$ cordova platform add android#6.1.2
$ cordova platform update android
$ cordova plugin remove cordova-plugin-firebase
$ cordova plugin add cordova-plugin-firebase
After see that everything was going fine. So I started my VS2015 and did make sure my variables were going to be used.
7 - Tools -> Options . Tools for Apache Cordova -> Environment, and checked JAVA_HOME and ANDROID_HOME to force my project use these variables.
And finally I could see my project compile with no errors.
Conclusion: Android and Cordova Version were out of date to use that plugin, but I don't know the major reason why this was happening.
I'm running Gradle 3.2.1 on MacOS X 10.12.1 installed with brew install gradle, did not set any env variables etc. myself, trying to use the Java 9 EA:
gradle build -Dorg.gradle.java.home=~/jdk-9.jdk/Contents/Home
But the build is failing with
FAILURE: Build failed with an exception.
What went wrong: Unable to start the daemon process. This problem might be caused by incorrect configuration of the daemon. For example,
an unrecognized jvm option is used.
From what I know it fails because the daemon is trying to use the maxpermsize JVM option (which is not supported in Java 8+ but in Java 8 it's only a warning).
So I tried to disable the daemon:
mkdir -p ~/.gradle && echo "org.gradle.daemon=false" >> ~/.gradle/gradle.properties
But gradle build is still trying to start a daemon... I removed ~/.gradle and .gradle in the project directory. Any other ideas?
$ gradle build -Dorg.gradle.daemon=false -Dorg.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-9.jdk/Contents/Home
To honour the JVM settings for this build a new JVM will be forked. Please consider using the daemon: https://docs.gradle.org/3.2.1/userguide/gradle_daemon.html.
FAILURE: Build failed with an exception.
* What went wrong:
Unable to start the daemon process.
This problem might be caused by incorrect configuration of the daemon.
For example, an unrecognized jvm option is used.
Please refer to the user guide chapter on the daemon at https://docs.gradle.org/3.2.1/userguide/gradle_daemon.html
Please read the following process output to find out more:
-----------------------
FAILURE: Build failed with an exception.
* What went wrong:
java.lang.ExceptionInInitializerError (no error message)
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
> Starting Daemon%
Ok so I figured it out, since I'm running my build like this:
gradle build -Dorg.gradle.java.home=~/jdk-9.jdk/Contents/Home
Gradle has to spawn a new thread to use a different Java version than the one pointed to by JAVA_HOME. This is done by spawning a daemon thread (even despite the false option) with that Java version and is failing. The same would happen if I passed JVM args to the build apparently.
The solution is to instead set JAVA_HOME in the terminal export JAVA_HOME=~/jdk-9.jdk/Contents/Home and just run gradle build.
Still doesn't work because the newest Java9 build broke Gradle's reflection but that's a different story.
I am posting this here since it's too big of a comment (but it is for sure not an answer).
If you run your script with --debug you will see the underlying error. I am running this directly via java-9 without setting the JAVA_HOME btw.
I had the same issue a few jdk-9 builds back and tackled it with:
set _JAVA_OPTIONS "-Dsun.reflect.debugModuleAccessChecks=true
--add-opens=java.base/java.lang=ALL-UNNAMED
--add-opens=java.base/java.util=ALL-UNNAMED
--add-opens=java.base/java.lang.invoke=ALL-UNNAMED
--add-opens=java.base/java.io=ALL-UNNAMED
--add-opens=java.base/java.util.concurrent=ALL-UNNAMED
--add-opens=java.base/java.text=ALL-UNNAMED"
set instead of export because I'm using fish, but should work for bash the same way.
Interestingly enough this still fails with build 153 with this:
Caused by: java.lang.reflect.InaccessibleObjectException: Unable to make field private final java.util.Map java.util.Collections$UnmodifiableMap.m accessible: module java.base does not "opens java.util" to unnamed module #67080771
But that is specified within _JAVA_OPTIONS. This might be a regression on build 153.
I installed the Gradle plugin for Jenkins but when I try to build the above project, I get this error: https://issues.jenkins-ci.org/browse/JENKINS-21653
So I removed Jenkins and installed Hudson. I installed the Gradle plugin for Hudson but Gradle doesn't show up in the build options. So I tried running the build from the command line option that Hudson has, and it gives the following error:
Started by user anonymous java.io.IOException: Failed to mkdirs:
/home/nav/tempHudsonBuild at
hudson.FilePath.mkdirs(FilePath.java:852) at
hudson.model.AbstractProject.checkout(AbstractProject.java:1538) at
hudson.model.AbstractBuild$AbstractRunner.checkout(AbstractBuild.java:610)
at
hudson.model.AbstractBuild$AbstractRunner.run(AbstractBuild.java:517)
at hudson.model.Run.run(Run.java:1450) at
hudson.model.FreeStyleBuild.run(FreeStyleBuild.java:44) at
hudson.model.ResourceController.execute(ResourceController.java:82)
at hudson.model.Executor.run(Executor.java:137) Finished: FAILURE
There's no lack of space or permission issue. I don't understand why these problems are happening. Could anybody help please? I've been struggling to find a solution for this for almost two days now. I'm using this jdk: jdk1.7.0_45 that came with Netbeans and I even tried building using an older Jenkins war (version 1.515), but it still didn't build. I'm on Fedora 20, 64 bit.
Update: The earlier build I tried with Jenkins was on the Windows partition mounted in Linux which could have had some permission problems. But even when I ran it from my Linux home folder, I got this error:
Started by user anonymous Building in workspace
/var/lib/jenkins/jobs/Unite in Linux filesystem/workspace
[workspace] $ /bin/sh -xe /tmp/hudson6360975070832015842.sh
+ /home/navin/git/unite/./gradlew build /tmp/hudson6360975070832015842.sh: line 2:
/home/navin/git/unite/./gradlew: Permission denied Build step
'Execute shell' marked build as failure Collecting metadata...
Metadata collection done. Finished: FAILURE