我的jar中的class-path中有驱动程序类:
2015-06-18 12:21:40.290 INFO 9453 --- [main] .b.l.ClasspathLoggingApplicationListener:应用程序无法以classpath启动: ..... 罐子:文件:/ {PROJECTHOME} /rest-test/target/rest-test-0.1.0.jar!/lib/ojdbc6-11.2.0.3.0.jar /
我有例外:
Factory method 'dataSource' threw exception; nested exception is java.lang.IllegalStateException: Cannot load driver class: oracle.jdbc.OracleDrive
我的pom:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>rest-test</artifactId>
<version>0.1.0</version>
<packaging>jar</packaging>
<properties>
<start-class>hello.Application</start-class>
<java.version>1.8</java.version>
</properties>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.2.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-dbcp</artifactId>
<version>${tomcat.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0.3.0</version>
<scope>compile</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
</plugins>
</build>
<repositories>
<repository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>spring-releases</id>
<url>https://repo.spring.io/libs-release</url>
</pluginRepository>
</pluginRepositories>
<name>rest-test</name>
</project>
答案 0 :(得分:2)
从Oracle网站下载ojdbc6.jar,或者如果在本地系统中安装oracle11g,可以在jdbc / lib文件夹中找到ojdbc。
添加ojdbc.jar右键单击 - &gt;构建路径 - &gt;配置构建路径 - &gt;添加外部罐子 - &gt;你的本地机器ojdbc路径 - &gt; ok。
它适用于我的情况。
答案 1 :(得分:1)
步骤1:您的POM.xml文件应为
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
</dependency>
第2步:从oracle网站下载ojdbc6驱动程序并将其保存在本地计算机中。
第3步:在命令下运行maven。Dfile是我保留从Oracle网站下载jar文件的位置
MVN install:安装文件 -Dfile = C:\ Users \ santosh \ .m2 \ repository \ com \ oracle \ ojdbc6 \ 11.2.0 \ ojdbc6.jar -DgroupId = com.oracle -DartifactId = ojdbc6 -Dversion = 11.2.0 -Dpackaging = jar
运行maven命令后,应在您的maven存储库中创建ojdbc6-11.2.0。之后应解决您的问题。
答案 2 :(得分:0)
确保在IDE中单击maven reimport,如果它没有自动重新导入(即IntelliJ:右键单击项目,Maven,Reimport),因为它将在没有在类路径上编译,但在运行时失败
答案 3 :(得分:0)
在pom.xml中,按照Santosh的说明添加依赖项。
在Eclipse IDE中,右键单击您的项目,然后在“目标”中选择“运行方式-Maven构建...”,然后在“行”中选择“运行”。我刚刚删除了mvn,并在本地计算机上指向了ojdbc6.jar位置。
install:安装文件-Dfile = D:\ oracle11gXE \ app \ oracle \ product \ 11.2.0 \ server \ jdbc \ lib \ ojdbc6.jar -DgroupId = com.oracle -DartifactId = ojdbc6 -Dversion = 11.2。 0 -Dpackaging = jar
再次在Eclipse IDE中右键单击项目,然后选择-Maven-Update Project ...-选择“强制更新快照/版本以及其他默认选项”,然后单击“确定”。
ojdbc6-11.2.0.jar应该反映在Maven依赖项下。