尝试从设置有点奇怪的命令行编译和运行我的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
我没有得到任何编译错误(例如,当我离开类路径时会发生错误),我可以看到.class文件是在com / example /文件夹中创建的。但是,我无法找到运行已编译程序的任何方法。运行
java src/main/com/example/myClass
会产生消息
Error: Could not find or load main class src.main.com.example.myClass
任何帮助都将不胜感激。
答案 0 :(得分:0)
您需要在运行时指定类路径,并且还需要使用完全限定的类名。像,
java -cp "libs/myExtraJar.jar:src/main" com.example.myClass
答案 1 :(得分:0)
*.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/。