问题通过批处理文件设置环境变量来执行Java程序 [英] Issue with setting environment variable through bat file to execute a java program
问题描述
我对设置环境变量如下的批处理文件
I have a batch file for setting up the environment variables as follows
@echo off
echo -- Setting Environment variables --
set "TH=D:\apache-tomcat-7.0.37\";
set "WEB-INF=%TH%webapps\ROOT\WEB-INF";
set "CLASSES_HOME=%WEB-INF%\classes";
set "CONFIG=%WEB-INF%\config-files";
set "JARS=%TH%webapps\ROOT\WEB-INF\lib";
set "JAVA_HOME=C:\Program Files\Java\jdk1.7.0_45";
set "_JAVA_OPTIONS=-Djava.net.preferIPv4Stack=true";
set "path=%path%;%JAVA_HOME%\bin;%WEB-INF%;%JARS%\jacob";
setLocal EnableDelayedExpansion
set "CLASSPATH=.;C:\WINNT\system32;%CLASSES_HOME%;%CONFIG%";
for %%a in ("%TH%lib\*.jar") do (
set CLASSPATH=!CLASSPATH!;%%a
)
for %%a in ("%CONFIG%\*.lic") do (
set CLASSPATH=!CLASSPATH!;%%a
)
for %%a in ("%JARS%\*.jar") do (
set CLASSPATH=!CLASSPATH!;%%a
)
set CLASSPATH=!CLASSPATH!
echo %CLASSPATH%
echo %path%
现在我有第二个批处理文件,它调用第一个批处理文件来设置环境变量,然后一个Java类如下:
Now I have a second batch file which invokes the first batch file to set up the environment variables and then a java class as follows
call D:\myFolder\setEnvironmentvaribales.bat
java -Xms256m -Xmx1024m com.myproject.java.runBatchToDelete
这是抛出一个异常,指出主要方法不能被发现。我知道一个事实,那就是在Java类中没有问题,我可以直接运行这个程序。我相信,由于某种原因,在setEnvironmentvaribales.bat类路径和路径设置是没有得到正确设置。任何帮助解决这一问题将是极大的AP preciated。
This is throwing an exception stating that main method cannot be found. I know for a fact that there is no issue with the java class as I can run this program directly. I believe for some reason the classpath and path setting in the setEnvironmentvaribales.bat is not getting set properly. Any help to resolve the issue would be greatly appreciated.
推荐答案
更改此行:
set CLASSPATH=!CLASSPATH!
本之一:
endlocal & set CLASSPATH=%CLASSPATH%
这篇关于问题通过批处理文件设置环境变量来执行Java程序的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!