簡體   English   中英

Sikuli:未找到Java錯誤

[英]Sikuli: Java not found error

在安裝Sikuli時,出現以下錯誤:

C:\Users\adb\Downloads>C:\Users\adb\Downloads\runSetup.cmd
'Files' is not recognized as an internal or external command,
operable program or batch file.
+++ Java not found in standard places C:\Program Files or C:\Program Files (x86)
+++ JAVA_HOME not specified
+++ ended with some errors

當我運行runSetup.cmd文件時,會發生這種情況。

我已經安裝了32位和64位版本的Java,其他應用程序似乎都找不到問題(例如Minecraft和所有Firefox應用程序)。

但是,這是我的Java安裝位置:

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

您需要將JAVA_HOME添加為系統變量,並在Path上引用它。

  • 在Windows中,轉到computer > Computer properties > advanced system properties > Advanced > Environment variables
  • 單擊“系統變量”下的“ New ”。
  • 將變量nameJAVA_HOME ,將value namepath / to / java
  • (對於path/to/java路徑,請使用Javascript Runtime Environment文件夾的路徑,例如C:\\Program Files\\Java\\jre1.8.0_25\\而不是C:\\Program Files\\Java\\jre1.8.0_25\\bin

  • 編輯變量PATH並在末尾添加%JAVA_HOME%/bin 關閉並再次啟動您的cmd。

  • 請注意,在某些系統上,路徑中最多可以有允許的字符數,因此,如果超出了最大值,則可能必須從路徑中刪除一些條目。 請謹慎執行此操作,然后先進行備份(通常可以安全刪除MS SQL Server條目)

此問題是因為Oracle發布了Java的新版本。 Sikuli安裝程序正在尋找2個previes版本。 (對我來說,當前路徑是:C:\\ Program Files(x86)\\ Java \\ jre1.8.0_40)我在新計算機上安裝Sikuli時遇到了同樣的問題。

我所做的是修改了安裝文件,以便可以用它在公司的每台新計算機上安裝Sikuli。 並讓sikuli識別最新的Java版本。

修改“ runSetup.cmd”后,您還需要調整后的“ runIDE.cmd”以使IDE識別最新的Java版本。

這是調整后的代碼/文件:

runSetup.cmd

@echo off
SETLOCAL

set SIKULIX_HOME=%~dp0
set PARMS=-Xms64M -Xmx512M -Dfile.encoding=UTF-8

if not defined JAVA_HOME goto CHECKJAVA
IF EXIST "%JAVA_HOME%\bin\java.exe" goto JAVA_OK
echo +++ JAVA_HOME specified but not useable %JAVA_HOME%
echo +++ looking for Java in standard places

:CHECKJAVA
set PROGRAMS=%ProgramFiles%
if defined ProgramFiles(x86) set PROGRAMS32=%ProgramFiles(x86)%

IF not EXIST "%PROGRAMS%\Java\jre1.8.0_40" goto JAVA7
set JAVA_HOME=%PROGRAMS%\Java\jre1.8.0_40
goto JAVA_OK

:JAVA7
IF not EXIST "%PROGRAMS%\Java\jre7" goto JAVA6
set JAVA_HOME=%PROGRAMS%\Java\jre7
goto JAVA_OK

:JAVA6
IF not EXIST "%PROGRAMS%\Java\jre6" goto JAVANO
set JAVA_HOME=%PROGRAMS%\Java\jre6
goto JAVA_OK

:JAVANO
if not defined %PROGRAMS32% goto JAVANO32

IF not EXIST "%PROGRAMS32%\Java\jre1.8.0_40" goto JAVA7
set JAVA_HOME=%PROGRAMS32%\Java\jre1.8.0_40
goto JAVA_OK

:JAVA7
IF not EXIST "%PROGRAMS32%\Java\jre7" goto JAVA6
set JAVA_HOME=%PROGRAMS32%\Java\jre7
goto JAVA_OK

:JAVA6
IF not EXIST "%PROGRAMS32%\Java\jre6" goto JAVANO32
set JAVA_HOME=%PROGRAMS32%\Java\jre6
goto JAVA_OK

:JAVANO32
echo +++ Java not found in standard places %PROGRAMS% or %PROGRAMS32%
echo +++ JAVA_HOME not specified
goto STOPIT

:JAVA_OK 
echo +++ running this Java
"%JAVA_HOME%\bin\java.exe" -version
PATH=%SIKULIX_HOME%libs;%PATH%
echo +++ trying to start Sikuli Setup in %SIKULIX_HOME%
"%JAVA_HOME%\bin\java.exe" %PARMS% -jar "%SIKULIX_HOME%sikuli-setup.jar" %*

GOTO FINALLY
:STOPIT
echo.+++ ended with some errors
:FINALLY
ENDLOCAL

runIDE.cmd

@echo off
SETLOCAL

set SIKULIX_HOME=%~dp0
set PARMS=-Xms64M -Xmx512M -Dfile.encoding=UTF-8 -Dsikuli.FromCommandLine

if not defined JAVA_HOME goto CHECKJAVA
IF EXIST "%JAVA_HOME%\bin\java.exe" goto JAVA_OK
echo +++ JAVA_HOME specified but not useable %JAVA_HOME%
echo +++ looking for Java in standard places

:CHECKJAVA
set PROGRAMS=%ProgramFiles%
if defined ProgramFiles(x86) set PROGRAMS32=%ProgramFiles(x86)%

IF not EXIST "%PROGRAMS%\Java\jre1.8.0_40" goto JAVA7
set JAVA_HOME=%PROGRAMS%\Java\jre1.8.0_40
goto JAVA_OK

:JAVA7
IF not EXIST "%PROGRAMS%\Java\jre7" goto JAVA6
set JAVA_HOME=%PROGRAMS%\Java\jre7
goto JAVA_OK

:JAVA6
IF not EXIST "%PROGRAMS%\Java\jre6" goto JAVANO
set JAVA_HOME=%PROGRAMS%\Java\jre6
goto JAVA_OK

:JAVANO
if not defined %PROGRAMS32% goto JAVANO32

IF not EXIST "%PROGRAMS32%\Java\jre1.8.0_40" goto JAVA7
set JAVA_HOME=%PROGRAMS32%\Java\jre1.8.0_40
goto JAVA_OK

:JAVA7
IF not EXIST "%PROGRAMS32%\Java\jre7" goto JAVA6
set JAVA_HOME=%PROGRAMS32%\Java\jre7
goto JAVA_OK

:JAVA6
IF not EXIST "%PROGRAMS32%\Java\jre6" goto JAVANO32
set JAVA_HOME=%PROGRAMS32%\Java\jre6
goto JAVA_OK

:JAVANO32
echo +++ Java not found in standard places %PROGRAMS% or %PROGRAMS32%
echo +++ JAVA_HOME not specified
goto STOPIT

:JAVA_OK 
echo +++ running this Java
set SIKULI_COMMAND=%*
"%JAVA_HOME%\bin\java.exe" -version
PATH=%SIKULIX_HOME%libs;%PATH%
echo +++ trying to start Sikuli IDE 
echo +++ using: %PARMS% -jar %SIKULIX_HOME%sikuli-ide.jar %SIKULI_COMMAND%
"%JAVA_HOME%\bin\java.exe" %PARMS% -jar "%SIKULIX_HOME%sikuli-ide.jar" %SIKULI_COMMAND%

GOTO FINALLY
:STOPIT
echo.+++ ended with some errors
:FINALLY
ENDLOCAL

例如,如果您在文件“ runSetup.cmd”上單擊“右鍵”,然后選擇“編輯”,則會看到代碼。 如果您將“原始”代碼替換為我調整后的代碼,則可以使用最新的Java版本進行安裝。

為了獲得更好的兼容性,可以嘗試下載Java 7 32bit版本,並將Java 7安裝路徑設置為Java Home環境變量。 (如果設置失敗自動檢測)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM