我是Java新手,在运行已编译的代码时遇到问题。
我有一个名为AdditionApplication
的文件。我编译这一行:
javac -cp * AdditionApplication.java
这会在当前目录中生成一个名为AdditionApplication.class
当我尝试使用代码运行程序时:
java -cp * AdditionApplication
它提供错误Error: Could not find or load main class AdditionApplication
这种行为可能是什么原因?
更新
所以我的代码需要一个jar文件包含在文件的初始编译中。如果我有javac - cp * AdditionApplication.java
,或者如果我指定了jar文件的完整路径,那么这似乎才有效。
当我在'java -cp中切换到.
时。 AdditionApplication',我收到错误NoClassDefFoundError
- 当我在编译期间初始引用的类不再可用时,我收集错误 - 为什么会出现这种情况?
答案 0 :(得分:4)
类路径应该是包含文件的目录(不是*
,除非它们是jar文件)。假设您有一个类文件(并根据您的其他命令),将该文件夹添加到类路径中。像,
java -cp . AdditionApplication
既然你也有一个jar,你可以(在* NIX系统上)
java -cp .:* AdditionApplication
Windows上的或
java -cp .;* AdditionApplication