当前位置: 首页 > 面试题库 >

Maven ojdbc jar依赖项错误:包oracle.jdbc不存在

盖夕
2023-03-14
问题内容

标题

我试图在我的Java EE6应用程序(类名VisualizerRepository.java)中使用jdbc连接,但是在nexus存储库中有jdbc驱动程序

该类必须执行存储过程并打印该过程的结果。由于JPA 2.0不支持使用jdbc调用程序。

包com.nfsmith.crm.data.repository;

import java.sql.CallableStatement;
import java.sql.Connection;
import java.sql.SQLException;
import javax.sql.DataSource;
import oracle.jdbc.OracleTypes;
import org.jboss.logging.Logger;

@Named
@ApplicationScoped
public class VisualizerRepository 
{
    DataSource datasource;
    Connection connection;
    CallableStatement statement;
    @PostConstruct
    public void initDBConnection()
    {
        InitialContext context;
        try 
        {
        context = new InitialContext();

        datasource = (DataSource) context.lookup("java:jboss/datasources/partmatchDatasource");
        connection = null;
        statement = null;
        connection = datasource.getConnection();

        } 
        catch (NamingException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public void getJSonDataList()
    {
        try {
            statement = connection.prepareCall("{call crm.PKG_CRM_RELATIONSHIP.getOrgViewDataJason(?,?,?)}");

        int owner = 48156;
        statement.setInt(1, owner);
        int site = 10;
        statement.setInt(2, site);
        statement.registerOutParameter(3, OracleTypes.CURSOR);
        statement.execute();
    }
        catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        finally
        {           
            try {
                statement.close();
                connection.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

当我执行构建时,看到编译错误,提示软件包oracle.jdbc不存在,无法找到符号

[ERROR] COMPILATION ERROR : 
[INFO] -------------------------------------------------------------
[ERROR] /C:/Users/rpalle/workspace/CRM/smith-crm-web/src/main/java/com/nfsmith/crm/data/repository/VisualizerRepository.java:[15,19] package oracle.jdbc does not exist
[ERROR] /C:/Users/rpalle/workspace/CRM/smith-crm-web/src/main/java/com/nfsmith/crm/data/repository/VisualizerRepository.java:[66,51] cannot find symbol
  symbol:   variable OracleTypes
  location: class com.nfsmith.crm.data.repository.VisualizerRepository
[INFO] 2 errors 
[INFO] -------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] Smith CRM ......................................... SUCCESS [0.823s]
[INFO] Smith CRM Web ..................................... FAILURE [4.775s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 6.410s
[INFO] Finished at: Wed Aug 07 13:48:32 CDT 2013
[INFO] Final Memory: 36M/530M
[INFO] ------------------------------------------------------------------------
[WARNING] The requested profile "CRM_local" could not be activated because it does not exist.
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project smith-crm-web: Compilation failure: Compilation failure:
[ERROR] /C:/Users/rpalle/workspace/CRM/smith-crm-web/src/main/java/com/nfsmith/crm/data/repository/VisualizerRepository.java:[15,19] package oracle.jdbc does not exist
[ERROR] /C:/Users/rpalle/workspace/CRM/smith-crm-web/src/main/java/com/nfsmith/crm/data/repository/VisualizerRepository.java:[66,51] cannot find symbol
[ERROR] symbol:   variable OracleTypes
[ERROR] location: class com.nfsmith.crm.data.repository.VisualizerRepository
[ERROR] -> [Help 1]

问题答案:

ojdbc jar不在公共Maven存储库中。您可以手动将jar添加到本地存储库。

从以下位置下载罐子:

  • 甲骨文网站
  • 从您的oracle数据库服务器复制( {ORACLE_HOME} \ jdbc \ lib \ ojdbc6.jar

在您的存储库中安装

mvn install:install-file -Dfile={Path/to/your/ojdbc.jar} -DgroupId=com.oracle -DartifactId=ojdbc6 -Dversion=11.2.0 -Dpackaging=jar

在您的pom中使用

   <dependency>
        <groupId>com.oracle</groupId>
        <artifactId>ojdbc6</artifactId>
        <version>11.2.0</version>
   </dependency>


 类似资料:
  • -->实现'com.firebaseui:firebase-ui-database:1.1.1' 当我添加firebase Ui数据库依赖项时,Gradle显示错误

  • 我在尝试使用“create”创建WebClient实例的线路上收到一个NoClassDefFoundError。尝试了builder(),但仍然是一样的。 请告诉我添加的依赖项有什么问题,以及如何解决这个问题。 我添加的依赖项是 StackTrace:

  • 我试图使用来自Java的Apache Beam作为某种数据管道。我写了一个简单的类,从谷歌Pubsub和下沉到谷歌Bigquery,但我不能让它为我的生活构建。我使用Maven构建并添加了我能找到的所有Beam包,但我仍然得到“未找到类文件”的错误。 具体来说: 有人知道我需要添加哪些包来解决这些问题吗?不幸的是,谷歌没有提供帮助。 我的POM文件是基于Apache为Wordcount提供的示例P

  • 我正在尝试添加以下依赖项:

  • 我的工作在Block trare-api,我已经创建了一个服务提供商来访问Block trare-api对象,但依赖不起作用,所以我删除了服务提供商和所有相关的包,但错误仍然存在,即使在做了。 这是laravel错误日志

  • 问题内容: 我看到了类似的问题,但未找到可接受的答案。问题-我有一些小功能我自己的android库。我的库使用其他库-fe Hawk(无sql数据库)。我的图书馆gradle文件: 图书馆工作正常。如果我将它用作另一个项目中的项目-它也可以工作。但是当我生成文件(带有-> )并包含到单独的项目中时-失败。项目仅查看我的图书馆的班级。Hawk com.orhanobut.hawk软件包和off其他软