找不到java.exe

时间:2015-01-22 23:37:21

标签: java batch-file

我正在尝试启动.bat文件,但是我收到了错误

系统找不到文件C:\ ProgramData \ Oracle \ Java \ javapath \ java.exe

我知道这可能是一个路径变量,但是我无法理解如何修复它,如果这是问题。

提前致谢。

3 个答案:

答案 0 :(得分:1)

首先,您提供的路径即C:\ProgramData\Oracle\Java\javapath\java.exe似乎不正确。它应该指向你(可能)在这里的JRE或JDK文件夹:

C:\Program Files (x86)\Java\jdk1.8.0_25\bin

在那里你至少应该看到以下文件(因此,在env vars中将这个bin目录添加到你的PATH变量中):

的java.exe

的javac.exe

javaw.exe的

javap.exe

java.h.exe

java的rmi.exe

的javadoc.exe

jarsigner.exe

jar.exe的

如果你没有看到上面的文件,那肯定是错的!此外,即使你使用的是JRE(不是JDK),你仍然应该有这个bin文件夹,java.exe所在的位置。

答案 1 :(得分:0)

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@ECHO OFF

:: Export java settings from registry to a temporary file
START /W REGEDIT /E %Temp%\java.reg "HKEY_LOCAL_MACHINE\SOFTWARE\JavaSoft" 


if not exist "%Temp%\java.reg" (
    START /W REGEDIT /E %Temp%\java.reg "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\JavaSoft"
)



if not exist "%Temp%\java.reg" (
    echo java not installed 
    exit /b 1
)



:: Find java location
FOR /F "tokens=1* delims==" %%A IN ('TYPE %Temp%\java.reg ^| FIND "INSTALLDIR"') DO SET "JAVA_HOME=%%B"
SET "JAVA_HOME=%JAVA_HOME:"=%"
SET "JAVA_HOME=%JAVA_HOME:\\=\%"
::SET JAVA_HOME
set "java=%java_home%\bin\java.exe"
"%java%" -version
:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

尝试此操作以查看是否可以自动检测java位置。如果它正常工作,您可以将其放在脚本的开头并在脚本中使用%java%(尽管会降低性能)。

答案 2 :(得分:0)

我有同样的问题。这对我有用: 进入路径变量并删除:C:\ProgramData\Oracle\Java\javapath\
然后添加一个新名称:%JAVA_HOME\bin
这篇文章对您有帮助:java-path-is-not-pointing-to-sdk-path-in-windows

编辑:对不起,我刚刚注意到这个问题已有3年历史了。