linux服务器上的Java jdbc类路径

linux服务器上的Java jdbc类路径,java,mysql,eclipse,maven,jdbc,Java,Mysql,Eclipse,Maven,Jdbc,我对Java中的jdbcclasspath有一个问题。我正在使用Maven,但是,jdbc在Maven中是不可处理的,所以我用mysql连接器创建了一个“lib”文件夹 如果我在eclipse中本地运行它,一切正常,但是当我将项目放在服务器上并尝试通过命令行运行它时,它会打印出以下错误: java.sql.SQLException: No suitable driver found for jdbc:mysql://localhost:3306/eventlist at java.sql.Dri

我对Java中的
jdbc
classpath
有一个问题。我正在使用Maven,但是,
jdbc
在Maven中是不可处理的,所以我用
mysql连接器创建了一个“lib”文件夹

如果我在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.060和Maven 3.0.5。我希望您能告诉我如何将jdbc文件添加到类路径中


谢谢

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

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

您需要做两件事:

  • 执行mvn:install安装文件将JAR放入存储库
  • 修改您的项目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>
    
    
    微软
    sqljdbc
    4.
    
    对于公共存储库中不可用的项目所需的每个JAR,您将执行相同的操作


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

    您需要做两件事:

  • 执行mvn:install安装文件将JAR放入存储库
  • 修改您的项目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>
    
    
    微软
    sqljdbc
    4.
    
    对于公共存储库中不可用的项目所需的每个JAR,您将执行相同的操作



    如果在本地机器上执行mvn:install,我会看到JAR安装在本地.m2存储库中。我没有访问私有共享存储库的权限。如果我想让我的本地机器和集成构建工具都能访问这个JAR,我就必须将它放入一个私有的共享存储库中,让它们都能看到。

    当然,Maven可以处理JDBC驱动程序。您只需将JAR注册到存储库中。对于任何不在中央存储库中的JAR,都需要mvn:install命令。这到底是如何工作的?尝试使用
    mvn:install
    mvn install
    ,然后使用jar的路径,但不起作用“不起作用”是什么样子?此命令将JAR安装到您的存储库中(可能是您的本地.m2)。然后,您必须将其添加到pom.xml中。
    -bash:mvn:install:command not found
    Maven没有安装。当然,Maven可以处理JDBC驱动程序。您只需将JAR注册到存储库中。对于任何不在中央存储库中的JAR,都需要mvn:install命令。这到底是如何工作的?尝试使用
    mvn:install
    mvn install
    ,然后使用jar的路径,但不起作用“不起作用”是什么样子?此命令将JAR安装到您的存储库中(可能是您的本地.m2)。然后,您必须将其添加到pom.xml中。
    -bash:mvn:install:command not found
    Maven没有安装。我不使用应用服务器。我只想从命令行运行该项目,但对其他人来说这是一个公平的观点:Tomcat 7.x和更高版本希望看到服务器/lib文件夹中的JDBC驱动程序JAR,而不是应用程序WEB-INF/lib。其他JavaEE应用服务器也一样,比如JBOSS。我不使用应用服务器。我只想从命令行运行该项目,但对其他人来说这是一个公平的观点:Tomcat 7.x和更高版本希望看到服务器/lib文件夹中的JDBC驱动程序JAR,而不是应用程序WEB-INF/lib。其他Java EE应用服务器也是如此,比如JBOSS.yes,JAR安装在我本地的.m2存储库中,如果我想运行它,它现在会打印出这个错误:
    [error]未能在项目EventlistServer上执行目标:无法解析位于的项目的依赖项。flobau:EventlistServer:jar:0.1:在中找不到jdbcdriver:jdbc:jar:2.1http://repo.maven.apache.org/maven2 缓存在本地存储库中,在central的更新间隔结束或强制更新之前,将不会重新尝试解析->[Help 1]
    我在pom.xml中为这个JAR添加了一个依赖项,所以它就存在了。您是否使用Maven打包和执行?听起来像是把JAR放进了存储库,但没有放进可执行文件包。错误表明它在ApacheMaven repo中查找,而不是您的本地.m2。我使用
    mvn exec:java-Dexec
    来执行程序,我不知道。我将Maven与JBOSS或Spring Boot结合使用。没有这些问题。是的,JAR安装在我的本地.m2存储库中,如果我想运行它,它现在会打印出这个错误:
    [error]未能在项目EventlistServer上执行目标:无法解析位于的项目的依赖项。flobau:EventlistServer:jar:0.1:在中找不到jdbcdriver:jdbc:jar:2.1http://repo.maven.apache.org/maven2 缓存在本地存储库中,在central的更新间隔结束或强制更新之前,将不会重新尝试解析->[Help 1]
    我在pom.xml中为这个JAR添加了一个依赖项,所以它就存在了。您是否使用Maven打包和执行?听起来像是把JAR放进了存储库,但没有放进可执行文件包。错误表明它在ApacheMaven repo中查找,而不是您的本地.m2。我使用
    mvn exec:java-Dexec
    来执行程序,我不知道。我将Maven与JBOSS或Spring Boot结合使用。没有这些问题。