2011-07-16 63 views
0

,所以我有需要的Weka机器,我让他们既作为一个学习项目库(weka.jar)和MySQL JDBC使用mysql-connector-java的5.1.17-bin.jarJDBC不在类路径错误

在我的项目构建路径的一部分....我还他们两个加入到我的CLASSPATH环境变量...这样的项目运行完美,当我使用Eclipse的运行按钮...

但随后出口项目为后一个独立的jar并运行java -jar theproject.jar命令,它返回一大堆错误:

Trying to add database driver (JDBC): RmiJdbc.RJDriver - Error, not in CLASSPATH 
? 
Trying to add database driver (JDBC): jdbc.idbDriver - Error, not in CLASSPATH? 
Trying to add database driver (JDBC): com.mckoi.JDBCDriver - Error, not in CLASS 
PATH? 
Trying to add database driver (JDBC): org.hsqldb.jdbcDriver - Error, not in CLAS 
SPATH? 
java.sql.SQLException: No suitable driver found for jdbc:idb=experiments.prp 
java.lang.IllegalStateException: Not connected, please connect first! 

即使它在Eclipse上,尽管事实上,这两个weka.jar和MySQL连接器的Java-5.1.17-bin.jar在CLASSPATH环境变量中完美运行...

我做了什么错?

+0

您是否将jar作为可运行JAR从Eclipse导出? – CoolBeans

+0

是的,我做了....... –

+0

正如下面提到的duffymo,检查你的MANIFEST.MF文件,看看你的类路径如何。 – CoolBeans

回答

1

你不应该有一个CLASSPATH环境变量。

一独立的JAR需要一个阐明了CLASSPATH清单。这就是JDK正在查看的内容,而不是您的CLASSPATH环境变量。

看看一些教程显示如何做到这一点。您将立即在Eclipse之外运行它。

http://download.oracle.com/javase/6/docs/technotes/tools/solaris/jar.html

+0

是有一种方法让eclipse自动执行所有这些操作,这样我就不必每次修改它时都修改清单..... –

+0

您只写一次。可能有办法告诉Eclipse将所有第三方JAR添加到生成的MANIFEST.MF中。我使用InteliJ,所以我不确定。 – duffymo