[英]Compiling and running a java program with complex file structure from the commandline
尝试从设置有点奇怪的命令行编译和运行我的Java程序。 文件结构如下:
[ROOT]/
|
|____libs/
| |____myExtraJar.jar
|
|____src/
|____main/
|____com/
|____example/
|____myClass.java
该软件包在java文件的顶部定义为
package com.example;
我可以在根文件夹中使用以下命令很好地编译程序(我认为)
javac -classpath "/libs/myExtraJar.jar" src/main/com/example/*.java
我没有收到任何编译错误(例如,如果我离开类路径会发生这些错误),并且可以看到在com / example /文件夹中正在创建.class文件。 但是,我找不到任何运行已编译程序的方法。 运行
java src/main/com/example/myClass
结果消息
Error: Could not find or load main class src.main.com.example.myClass
任何帮助,将不胜感激。
您需要在运行时指定类路径,并且还需要使用完全限定的类名。 喜欢,
java -cp "libs/myExtraJar.jar:src/main" com.example.myClass
艾略特是对的。 更准确地说,您需要将构建目录添加到类路径中。 它是包含*.class
文件的目录,有时称为target/
。
$ java -cp "target:lib/myExtraJar.jar" com.example.myClass
此外, src/main/com/example/myClass
应该是com.example.myClass
,这是完全限定的类名 。 有关java
命令的详细信息,请参见http://www.manpagez.com/man/1/java/ 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.