我正在用多个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
java是包含main方法的类。如何使用多个jar文件和类运行java程序? Java类文件不仅仅是文件本身。表示类包的目录结构是类文件的一部分。你的类路径需要指向最顶层包目录的父目录。
假设你的类是用package com;
声明的,那么最顶层的包目录就是com
。所以你需要com
的父在你的类路径中:
java -classpath src:lib/* com.okc
如果你的类不包含任何package
语句,而你恰好把它放在com
目录下,那么它属于null包,它的父目录是com
本身:
java -classpath src/com:lib/* okc
另一个注意事项:Java惯例是类名及其各自的文件名以大写字母开头。原因之一是它使类名易于与包组件区分。
尝试:
java -cp ../lib/* com.okc
从SRC目录
假设当前目录有lib/: