在CMD
中,我使用包含库
java -cp app.jar;libs/*;. com.app.Main
并且它有效,但我想要创建BATCH
脚本,它们完全相同。我创建test.bat
并输入如下代码:
@ECHO off
java -cp app.jar;libs/*;. com.app.Main
PAUSE
但是当我运行test.bat
时,显示CMD
并且有信息"Error: Could not find or load main class com.app.Main".
BATCH
脚本与app.jar
和libs
文件夹位于同一文件夹中。
此批处理脚本有什么问题?
答案 0 :(得分:1)
编译行上的字符可能对批处理解释器很重要;尝试将类路径放在双引号中。
答案 1 :(得分:0)
After Java 6, Classpaths could be built by using wildcard characters
您可以创建名为classpath
的目录并将JAR放入其中。然后,您可以像这样创建.bat
文件:
@ECHO off
java -cp .;classpath/* com.app.Main
pause
你应该有这样的结构:
com
`---app
`---Main.java
classpath
`---your-crital-code-1.0.jar
compile.bat
我看到很多人都在StackOverflow上提出这个问题,所以这里有一些小提示。
我通常会避免使用cd
命令,因为它可能会造成一些麻烦。在Windows中,您可以Shift + Right Click
在特定目录中打开命令窗口。
我总是喜欢相对路径而不是绝对路径,因此我不会为管理长路径而烦恼。
Here是一个处理此类问题的小程序。您可以随时引用和contribute,以便我们可以为Java初学者提供很好的示例:)