[英]How to compile multiple Java files with Jar dependencies?
StackOverflow 上的其他类似答案并不能完全回答这个问题。
我正在运行 Windows 并有两个文件夹: lib和src 。 lib包含依赖项的.jar文件。 我试图通过编译:
javac -cp ".;lib/*" *.java
有效。 每个文件都有一个.class文件,带有主类的.java文件有一个额外的Controller$1.class命名文件。
我试图通过以下所有方式运行该程序:
java -cp ".;lib/*" src/Controller
java -cp ".;lib/*" src/Controller.class
java -cp ".;lib/*" src/Controller$1.class
以上方法均无效。 他们都给了我这个错误:
Error: Could not find or load main class Controller
有什么问题,我该怎么做? 它在我的 IDE 中运行良好,但我正在面试的一家公司想要它包含 JAR 文件,并且可以通过命令行编译和运行。 我已经很久没有编译过这样的东西了,所以我们将不胜感激。
此外,如果它们具有更深的文件夹结构,我如何编译和运行它们。 例如,如果我有以下文件夹/路径:
lib/
src/
src/core
src/models
src/models/enums
你的项目结构似乎是这样的:
root:
lib
src: Controller.java and other files without a package
正确的命令:
javac -sourcepath src -d lib src/*.java
java -cp lib Controller
解释:
javac -cp ".;lib/*" *.java
java -cp ".;lib/*" src/Controller
您没有复制 lib 中的任何类,但您的“cp”设置为 lib。 类 Controller 也没有包,所以:
java -cp "lib" Controller
我相信你想使用javac
,而不是java
你提到的那些命令,见下文:
javac -cp ".;lib/*" src/Controller.java
另外,你用什么来构建项目? 如果您使用 Maven,有一些很棒的插件可以让您在打包 JAR 及其依赖项方面更轻松。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.