我在运行一个简单程序时遇到很多麻烦。
我正在关注本教程 - http://ant.apache.org/manual/tutorial-HelloWorldWithAnt.html
当我运行“ant run”时,我收到以下错误
run:
[java] D:\Users\Rich\Code\Java\Standard\Workspace\HelloWorldWithAnt\build.xml:22: java.io.IOException:
Cannot run program "C:\Apps\Java\JDK\jre\bin\java.exe":]
CreateProcess error=5, Access is denied
我已确定ant和java的路径没有任何空格。
以下是我的环境变量
JAVA_HOME=C:\Apps\Java\JDK
JAVACMD=C:\Apps\Java\JDK\bin\java.exe
CLASSPATH=C:\Apps\Java\JDK
Path=otherpaths;C:\Apps\Java\JDK\bin\;morepaths
我甚至试图改变ant.bat
:checkJava
set _JAVACMD="C:\Apps\Java\JDK\bin\java.exe"
rem if "%JAVA_HOME%" == "" goto noJavaHome
rem if not exist "%JAVA_HOME%\bin\java.exe" goto noJavaHome
rem if "%_JAVACMD%" == "" set _JAVACMD=%JAVA_HOME%\bin\java.exe
goto checkJikes
一切都无济于事。
以下命令带回预期结果
java -version
ant -version
我接下来可以尝试什么想法?
更新
我使用eclipse来运行构建文件,它运行正常。 从命令行运行它仍然无法正常工作。
更新2
我更新了ant.bat以在:end部分中包含echo“%_JAVACMD%”。 这会导致正确打印java的路径。
到底是怎么回事?! 另一个应用程序可以使用java吗? 我尝试以管理员身份运行命令提示符,仍然没有任何乐趣。
答案 0 :(得分:0)
假设您在Windows上,请使用类似的批处理文件来启动您的ant脚本,例如。 :
@ echo off
set ANT_HOME=C:\ant193
set JAVA_HOME=C:\Apps\Java\JDK
set PATH=%JAVA_HOME%\bin;%ANT_HOME%\bin;%PATH%
: DEFAULT
call ant -f %1
: DEBUG
:call ant -debug -f %1
pause
如果您的bat文件名为f.e. antstart.bat然后使用:
antstart yourbuildscript.xml
增加日志级别使用:
: DEFAULT
:call ant -f %1
: DEBUG
call ant -debug -f %1
你的antstart.bat文件中的。
也可以使用:
C:\> java -version
C:\> set
C:\> ant -diagnostics
检查您的设置。