我在目录d:\ oprinterface \ Operator中有一个接口操作符,在directctory d:\ operators *中有四个类Plus,Minus,Multiply和Divide。这些类触发了操作员界面。我的主程序(FileProcess)在目录d:\ source \ main \ FileProcess中使用这个接口和类。现在我想从这些接口和类创建3个seprate jar文件。首先,我从操作员界面制作jar文件。我这样做:
javac oprinterface/Operator.java
jar -cf oprInterface/Operator.class
在这一步之后,我从类Plus,Minus,Divide,Multiply编译并制作jar文件。因为这些类依赖于oprInterface.jar我创建了一个manifest.txt文件并在其上写:
Manifest-Version: 1.0
Class-Path: oprInterface.jar
然后编译并制作jar文件:
javac -cp oprInterface.jar operators/*.java
jar -cvfm operators.jar manifest.txt operators/*.class
再次执行此操作后,我为主程序创建了manifest.txt文件:
Manifest-Version: 1.0
Main-Class: source.main.FileProcess
Class-Path: oprInterface.jar;operators.jar
(在manifest.txt的最后一行之后我按回车)
然后我编译并制作jar文件:
javac -cp oprInterface.jar;operators.jar source/main/FileProcess.java
jar -cvfm FileProcess.jar manifest.txt source/main/*.class
当我运行我的jar文件(java -jar FileProcess.jar)时,我遇到了这个异常:
NoClassDefFoundException : oprInterface/Operator
我在创建jar文件时犯了错误吗?