我正在编译一个带有多个jar文件(在lib文件夹中)和类(在src / com文件夹中)的程序:
javac -classpath lib/\* src/com/*.java
我输入了这个来运行程序:
java -cp lib/\* src/com/okc
但它不起作用。相反,我得到了这个:
Error: Could not find or load main class src.com.okc
okc.java是包含main方法的类。如何运行包含多个jar文件和类的java程序?
答案 0 :(得分:1)
Java类文件不仅仅是文件本身。表示类包的目录结构是类文件的一部分。您的类路径需要指向最顶层包目录的父目录。
假设您的类声明为package com;
,则最顶层的包目录为com
。因此,您需要在类路径中使用com
的父:
java -classpath src:lib/\* com.okc
如果您的类不包含任何package
语句,而您恰好将其放在com
目录中,那么它属于null包,其父目录为com
本身:
java -classpath src/com:lib/\* okc
另外需要注意:具有类名的Java约定及其各自的文件名以大写字母开头。一个原因是它使类名易于与包组件区分开来。
答案 1 :(得分:-1)
尝试:
java -cp ../lib/\* com.okc
来自src目录的(不确定......)
答案 2 :(得分:-1)
假设您当前的目录包含lib /:
java -cp lib src.com.okc