繁体   English   中英

执行批处理文件错误:“找不到或加载主类”

[英]Executing batch file error: “Could not find or load main class”

我是java编程的新手。 我有这个名为StartSample.bat的批处理文件。 该批处理文件运行java程序。 这是批处理文件的代码:

@echo off
set CLASSPATH=%CLASSPATH%;f3bc4jav.jar
set CLASSPATH=%CLASSPATH%;PalmSecureSample_Java.jar

@echo on
java <classname>

上面提到的.jar文件与批处理文件位于同一文件夹中。

当我运行StartSample.bat时,它就像它应该的那样执行Java程序。

我现在所做的是创建Java类以使用以下代码运行该批处理文件:

Process p = Runtime.getRuntime().exec("C:\\WINDOWS\\system32\\cmd.exe /c start C:\\Identify\\dll\\StartSample.bat");

运行我的代码时发生错误。 错误是:

C:workspace\Project>java <classname> Error: Could not find or load main class <classname>

什么似乎是问题?

如果从Java类运行批处理文件,则批处理文件工作目录将由Java环境的工作目录继承。

要修复它,您应该使用%~dp0设置jar相对于批处理文件的路径

@echo off
set CLASSPATH=%CLASSPATH%;%~dp0\f3bc4jav.jar
set CLASSPATH=%CLASSPATH%;%~dp0\PalmSecureSample_Java.jar

@echo on
java <classname>

你好你可以试试

@echo off
set CLASSPATH=%CLASSPATH%;f3bc4jav.jar
set CLASSPATH=%CLASSPATH%;PalmSecureSample_Java.jar

@echo on
java -cp %CLASSPATH% com.xyz.path.to.MainClass.class

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM