繁体   English   中英

Linux服务器上的Java jdbc类路径

[英]Java jdbc classpath on linux server

我在Java中的jdbc classpath有问题。 我正在使用Maven,但是jdbc在maven中不方便使用,因此我使用mysql-connector .jar创建了一个“ lib”文件夹,并将此jar添加到了项目的构建路径中。

如果我在eclipse中本地运行它,一切正常,但是当我将项目放在服务器上并尝试通过命令行运行时,它会打印出此错误:

java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/eventlist
at java.sql.DriverManager.getConnection(DriverManager.java:689)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at WriteData.writeEventDataToDatabase(WriteData.java:24)
at Main.main(Main.java:6)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:293)
at java.lang.Thread.run(Thread.java:745)

我在CentOS 6上使用Java 1.8.0_60和Maven 3.0.5。希望您能告诉我如何将jdbc文件添加到类路径中。

谢谢!

驱动程序也应该在服务器中。 例如,如果您在服务器上使用tomcat,则驱动程序必须位于tomcat的lib文件夹中。

您需要做两件事:

  1. 执行mvn:install install-file将JAR放入存储库。
  2. 修改您的项目pom.xml以向存储库询问该JAR。

这是mvn:install命令的示例:

call mvn install:install-file -Dfile=sqljdbc.jar -DgroupId=microsoft -DartifactId=sqljdbc -Dversion=4 -Dpackaging=jar

这是在我的项目中需要它的pom.xml条目:

<dependency>
    <groupId>microsoft</groupId>
    <artifactId>sqljdbc</artifactId>
    <version>4</version>
</dependency>

您需要为项目所需的每个JAR做同样的事情,而公共存储库中没有。

如果我在本地计算机上执行mvn:install,我会在本地.m2存储库中看到安装的JAR。 我无权访问私有共享存储库。 如果我想让我的本地计算机和集成的构建工具都可以访问该JAR,则必须将其放入一个私人的共享存储库中,两者都可以看到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM