在Eclipse中运行时未找到类,而Maven依赖项已包含在内

时间:2018-05-10 06:57:36

标签: java eclipse maven

我使用maven下载ojdbc.jar依赖项。 jar已经出现在 Eclipse 中的 Maven Dependencies 中,我想它已经可以使用了。但是当我尝试导入 OracleDriver 时,Eclipse无法帮助我导入类并在行上显示错误。

我尝试Class.forName("oracle.driver.OracleDriver")来搜索课程。它还显示 ClassNotFound 的例外情况。

的pom.xml

<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>com.techoffice.example</groupId>
    <artifactId>OracleJdbcExample</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <repositories>
        <repository>
            <id>codelds</id>
            <url>https://code.lds.org/nexus/content/groups/main-repo</url>
        </repository>
    </repositories>
    <dependencies>
        <dependency>
            <groupId>com.oracle</groupId>
            <artifactId>ojdbc6</artifactId>
            <version>11.2.0.3</version>
        </dependency>
    </dependencies>
</project>

示例代码

public static void main(String[] args){
  Class.forName("oracle.jdbc.OracleDriver");
}

异常

Exception in thread "main" java.lang.ClassNotFoundException: oracle.jdbc.OracleDriver
    at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:171)
    at com.techoffice.oracle.OracleJdbcAppl.main(OracleJdbcAppl.java:18)

2 个答案:

答案 0 :(得分:0)

将“ojdbc6.jar”文件下载到您的电脑上。 cd到已下载的文件夹中。然后使用此命令在maven本地存储库(通常是您的~/.m2目录)上安装库:

mvn install:install-file -Dfile=ojdbc6.jar -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0.3 -Dpackaging=jar -DgeneratePom=true

在此之后,Eclipse应该能够无缝地找到依赖项。

答案 1 :(得分:-1)

Include the ojdbc6.jar file in the Deployment Assembly of the Project

Right Click on project -> Properties -> Deployment Assembly -> Add your ojdbc6.jar file in it

方法2:     右键单击项目 - &gt;构建路径 - &gt;配置构建路径 - &gt;添加外部JAR - &gt;添加ojdbc6.jar