控制台应用程序不适用于mysql连接器,在IDE中可以正常工作

时间:2019-06-22 13:30:18

标签: java console-application mysql-connector

因此,我有一个打算从终端运行的程序,该终端应在运行该程序的机器上本地连接到mysql服务器。但是,在连接器也被视为主程序的情况下存在冲突(我认为)。从终端运行时会抛出此错误:

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:349)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)
    at nu.educom.dbInsert.MySqlConn.getConn(MySqlConn.java:25)
    at nu.educom.dbInsert.ConsoleApp.start(ConsoleApp.java:56)
    at nu.educom.dbInsert.Main.main(Main.java:13)

我试图使清单如此:

    Manifest-Version: 1.0
    Main-Class: nu.educom.dbInsert.Main
    Class-Path: lib/mysql-connector-java-5.1.22.jar

我实际上在程序中存在的每个目录中都围绕连接器移动。从IDE运行时,它工作正常。

从终端运行时给出的参数用于连接到本地mysql服务器。我在SO上找到的所有解决方案都是关于使其在IDE中工作的。我在其他网站上发现了一个过时的帖子,建议在清单中设置类路径。我不知道该放什么,或者甚至不是我需要的东西。

在终端中运行程序的命令:

dbInsert -p:**** -u:root -d:products empty.csv

其中dbInsert是别名:

dbInsert="cd ~/desktop/projects/java/dbInsert/out/production/dbInsert/; java nu/educom/dbInsert/Main"

0 个答案:

没有答案