以下是我遇到的错误:“无法找到或加载主类MCP ”。
我的项目结构如下:
- src (directory containing the sub-directory (and package) "tp2" containing the source files (their package is "tp2")).
- class (directory containing the directory (and package) "tp2" containing the class files)
- META-INF (directory containing "MANIFEST.MF" (only one line : "Main-Class: tp2.MCP")).
javac src/tp2/*.java -d class
构建项目。jar cfmv MCP.jar META-INF/MANIFEST.MF class/tp2/
./class
添加了CLASSPATH
。 然而,错误仍然存在......当我jar -tf MCP.jar
时,我有:
META-INF/
META-INF/MANIFEST.MF
class/tp2/XXYYZZ.class
class/tp2/MCP.class
执行时似乎没有正确读取类路径?
答案 0 :(得分:0)
您的jar文件包含class
目录。因此,它被视为包名称的一部分。
创建jar时使用-C
标志
java cfmv MCP.jar META-INF/MANIFEST.MF -C class .
来自man jar
:
-C dir在处理以下inputfiles参数时暂时将目录更改为dir。允许多个-Cir输入文件集