Can';t从Termainal使用MySQL连接器运行Java类
没有人能够提出一个有效的解决方案,所以我作为一个新的帖子再次尝试 简单地说,我无法运行java类Version.class,它使用命令行中的mysql connector.jar文件。它在Eclipse中工作得很好,只是不在终端上。以下是我的文件结构: 我可以成功地从EclipseIDE执行,但当试图从终端执行java.class文件时,我遇到了一些问题Can';t从Termainal使用MySQL连接器运行Java类,java,mysql,eclipse,macos,Java,Mysql,Eclipse,Macos,没有人能够提出一个有效的解决方案,所以我作为一个新的帖子再次尝试 简单地说,我无法运行java类Version.class,它使用命令行中的mysql connector.jar文件。它在Eclipse中工作得很好,只是不在终端上。以下是我的文件结构: 我可以成功地从EclipseIDE执行,但当试图从终端执行java.class文件时,我遇到了一些问题 ~/dropbox/workspace/mysqltut/src/zetcode/Version.java ~/dropbox/workspa
~/dropbox/workspace/mysqltut/src/zetcode/Version.java
~/dropbox/workspace/mysqltut/src/zetcode/Version.class
~/dropbox/workspace/mysqltut/lib/mysql-connector-java-5.1.30-bin.jar
在终端中导航到~/dropbox/workspace/mysqltut/src/
后,我运行以下操作:
java-cp.:lib/mysql-connector-java-5.1.30-bin.jar zetcode/Version
May 03, 2014 10:54:31 PM zetcode.Version main
SEVERE: No suitable driver found for jdbc:mysql://localhost:3306/
java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/
at java.sql.DriverManager.getConnection(DriverManager.java:596)
at java.sql.DriverManager.getConnection(DriverManager.java:215)
at zetcode.Version.main(Version.java:24)
我的语法/文件结构有问题还是安装不正确?您正在src文件夹中运行此操作。lib是src的兄弟,而不是子。因此,当您将classpath设置为lib时,我相信它是在src文件夹中查找lib。你能把你的类路径调整到。:../lib/。。。或者上一层到mysqsltut运行程序?请显示代码。首选可编译/可运行的示例。(@prabug-yep,不知道我有足够的代表评论):)发生了。在看到你有足够的重复次数后,我发布了一篇文章。我为完全相同的问题提供了一个答案:太好了!这起作用了。非常感谢,我都快疯了。虽然这样做有效,但您是否可以推荐一种传统的文件结构?库应该把我放在别的地方吗?您还可以解释一下在终端中移动文件结构的各种开关吗?我假设“:”与“/”相同,对吗?什么是“;”和一些更常用的开关?再次感谢!另外,如果我升级到mysqltut,我将如何运行它?使用src/zetcode/Version无法工作,因为它返回
错误:无法找到或加载主类src.zetcode.Version
Ah。。问题,问题,问题。太好了,你做得对。您可能会从这里开始:这解释了什么是类路径,以及如何以各种方式设置它。要回答您的问题。是当前目录,:是linux的路径分隔符,我相信…/是一级了。至于您的第二条评论,请尝试src/zetcode.Version
,并告诉我这是否有效。另外,如果您的原始问题得到了回答,请标记为是。谢谢prabu。大约一小时前你的建议一生效我就做了标记。它没有显示吗?在mysqltut中,使用java-cp lib/mysql-connector-java-5.1.30-bin.jar src/zetcode.Version
,正如您所建议的那样,不起作用。它只返回错误:无法找到或加载主类src.zetcode.Version
我相信在执行类文件时,您必须在包文件夹中,因此,当我在src中时,仅识别zetcode.Version。