找不到java.exe

找不到java.exe,java,batch-file,Java,Batch File,我正试图启动一个.bat文件,但我得到了错误 系统找不到文件C:\ProgramData\Oracle\Java\javapath\Java.exe 我知道这可能是一个路径变量,但我不知道如何解决它,如果这是问题的话 提前感谢。首先,您提供的路径,即C:\ProgramData\Oracle\Java\javapath\Java.exe似乎不正确。它应该指向您(可能)在此处的JRE或JDK文件夹: C:\Program Files (x86)\Java\jdk1.8.0_25\bin 在这里,

我正试图启动一个.bat文件,但我得到了错误

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

我知道这可能是一个路径变量,但我不知道如何解决它,如果这是问题的话


提前感谢。

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

C:\Program Files (x86)\Java\jdk1.8.0_25\bin
在这里,您至少应该看到以下文件(因此,将此bin目录添加到env vars中的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所在的位置

::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
@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%
(尽管这会降低性能)。

我也有同样的问题。以下是对我有效的方法: 进入path变量并删除:
C:\ProgramData\Oracle\Java\javapath\

然后添加一个名为:
%JAVA\u HOME\bin

这篇文章有助于:


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

您是否通过进入环境变量区域来修复Java路径?另外,您的jdk目录位置是什么?您在jdk中的
bin
文件夹中可以看到什么?你有任何
java
exe吗?这个问题属于。