我正在Wicket中创建一个包含一些数据库查询的应用程序。当我尝试从我的本地计算机上的Tomcat运行它时,这工作正常。然而,当尝试将其上传到服务器或我在它上面做一个mvn包,然后我尝试在服务器上运行它我得到一个错误“ClassNotFoundException:com.mysql.jdbc.Driver”
我的代码中有一个com.mysql.jdbc.Driver的调用:
的Class.forName( “com.mysql.jdbc.Driver”); String url1 =“jdbc:mysql:// localhost / smart_one”;
但是,在部署项目并从Eclipse运行之前,这样可以正常工作。
我尝试在服务器上使用glassFish和tomcat。我也试过做一个mvn包并在我的localhost上部署它,它仍然给我同样的错误。
这是我的pom.xml文件:
<properties>
<wicket.version>6.16.0</wicket.version>
<jetty.version>7.6.13.v20130916</jetty.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<!-- allowed values: R7, 1.0, 1.5, 2.0 or none -->
<wtp.version>none</wtp.version>
</properties>
<dependencies>
<!-- WICKET DEPENDENCIES -->
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-core</artifactId>
<version>${wicket.version}</version>
</dependency>
<!-- OPTIONAL DEPENDENCY
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-extensions</artifactId>
<version>${wicket.version}</version>
</dependency>
-->
<!-- LOGGING DEPENDENCIES - LOG4J -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.6.4</version>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.16</version>
</dependency>
<!-- JUNIT DEPENDENCY FOR TESTING -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
<!-- JETTY DEPENDENCIES FOR TESTING -->
<dependency>
<groupId>org.eclipse.jetty.aggregate</groupId>
<artifactId>jetty-all-server</artifactId>
<version>${jetty.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-auth-roles</artifactId>
<version>6.16.0</version>
</dependency>
</dependencies>
答案 0 :(得分:0)
所以我意识到,当我部署项目时,我需要将jdbc驱动程序添加到我的依赖项中。
这是我必须添加到依赖项下的pom.xml文件中的内容:
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>