Executing batch file error: "Could not find or load main class"
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 Class 到 运行 的批处理文件:
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 Class 的批处理文件,则批处理文件工作目录由 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
我是 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 Class 到 运行 的批处理文件:
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 Class 的批处理文件,则批处理文件工作目录由 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