使用批处理脚本编译项目并包含库

时间:2016-09-05 10:40:44

标签: java windows batch-file cmd

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.jarlibs文件夹位于同一文件夹中。

此批处理脚本有什么问题?

2 个答案:

答案 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初学者提供很好的示例:)

相关问题