浏览 16313 次
该帖已经被评为新手帖
|
|
---|---|
作者 | 正文 |
发表时间:2006-10-28
我自己写了一个小程序用于连接数据库,这个程序使用了一个第三方的包(classes12.jar),在ide运行没有问题,然后我把 此小程序打成了一个jar包:db.jar.然后在dos 中用命令行运行。步骤如下: 1.set classpath=d:\classer12.jar 2.java -jar db.jar 结果提示 找不到 classes12.jar 为什么难道运行jar包里的main 文件不能访问第三的包吗?(我觉得不可能)有人会问,会不会是别的环境设置不对,影响运行。但我用下列方式就能运行: 1.set classpath=d:\classer12.jar;d:\db.jar 2.java TestMain 能正确运行 其中:TestMain 是db.jar 的Main 文件。 希望大家都说一些自己看法,谢谢! 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2006-10-28
1.set classpath=d:\classer12.jar
2.java -jar db.jar 结果提示 找不到 classes12.jar 看清楚,你设置的是classer12.jar是不是自己写错了?如果不是写错路径,那么应该是ClassNotFoundException。而不是提示找不到jar了。 |
|
返回顶楼 | |
发表时间:2006-10-28
sorry,笔误 classes12.jar
还是找不到。 |
|
返回顶楼 | |
发表时间:2006-10-28
就是提示:ClassNotFoundException 找不到,只不过我没有说的那么详细
|
|
返回顶楼 | |
发表时间:2006-10-28
java
-classpath <class search path of directories and zip/jar files> A ; separated list of directories, JAR archives, and ZIP archives to search for class files. |
|
返回顶楼 | |
发表时间:2006-10-29
[抛出异常的爱],你说的方法我在 sun 网站上看到过。我也试过,怎么写都不对。你能给出一个具体的执行步骤。谢谢!
|
|
返回顶楼 | |
发表时间:2006-10-29
我觉得用:
set classpath=d:\classes12.jar java -jar db.jar 应该就能得到我想要的结果,但为什么会抛出 ClassNotFoundException 异常,找不到oracle.jdbc.OracleDriver 类。 谁能说出理由吗? |
|
返回顶楼 | |
发表时间:2006-10-29
还是平时看书的时候没有特别注意,看了ibm上的一篇技术文章已经彻底解决了我的疑惑.
首先jar 分可执行jar 和非可执行jar 一个可执行的 JAR 必须通过 menifest 文件的头引用它所需要的所有其他从属 JAR。如果使用了 -jar 选项,那么环境变量 CLASSPATH 和在命令行中指定的所有类路径都被 JVM 所忽略。 (http://www-128.ibm.com/developerworks/cn/java/j-jar/index.html)所以我设置的classpath无效。 |
|
返回顶楼 | |