问题通过批处理文件设置环境变量来执行Java程序 [英] Issue with setting environment variable through bat file to execute a java program

查看:146
本文介绍了问题通过批处理文件设置环境变量来执行Java程序的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我对设置环境变量如下的批处理文件

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆