我在D:\jarConcepts目录中有一个简单的 Demo.java 文件:
import javax.swing.* ;
class Demo{
public static void main(String args[]){
JFrame frame = new JFrame("") ;
frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE) ;
Class c = null ;
try{
c = Class.forName("com.mysql.jdbc.Driver") ;
//com.mysql.jdbc.Driver class is in a jar file
//whose class path is set in the environment variable(explicitly done by me)
//when i am executing Demo.class using java command, it displays frame with OK title
//but if i execute this by creating a jar, it enables to load the
//com.mysql.jdbc.Driver class,
//thus displaying frame with Sorry title
frame.setTitle("OK") ;
}
catch(ClassNotFoundException cnfe){
frame.setTitle("Sorry") ;
}
frame.setVisible(true) ;
}
}
我在 D:\jarConcepts 中准备了一个 manifest.txt 文件,其中包含以下文本:
主类:Demo
类路径:C:\Program Files\MySQL\MySQL Tools for 5.0\java\lib\mysql-connector-java-5.0.4-bin.jar
什么时候,我使用从同一目录创建一个 jar 文件
jar -cvfm Demo.jar manifest.txt .class
以下是输出:
添加清单添加:Demo.class(in = 743) (out= 505)(deflated 32%)
但是,当我执行生成的 jar 文件时,它会显示一条错误消息,
无法找到主类。程序将会退出。
当我使用以下清单代码创建 jar 文件时,我不明白为什么会发生这种情况:
主类:Demo
我得到了一个完全可执行的 Demo.jar,唯一的问题是它没有从 ] 类路径加载驱动程序类,当我试图在清单中添加路径时,它不起作用......请帮助.......