gpt4 book ai didi

java - 403 禁止使用 Oracle 存储库中的 jdbc 驱动程序

转载 作者:行者123 更新时间:2023-11-30 02:20:28 25 4
gpt4 key购买 nike

我想在编译时下载odjbc7.jar,以便我可以在 Travis CI 中运行所有测试。我在 gradle.properties 中添加了一个设置,以便它只下载用于构建的 jar。

我的工具的用户将自己提供驱动程序,以免违反 Oracle 许可协议(protocol)。

我在网上找到的所有解决方案都通过说指向一个本地 jar 来回答这个问题,该 jar 不适用于我的 CI 构建或其他想要构建应用程序的人(我无法将 ojdbc jar 作为一部分分发)我的存储库)。

下面是我的build.gradle的相关部分,我的 gradle.properties 中有属性 mavenOracleUsernamemavenOraclePassword (我已在 Oracle 单点登录站点上检查这些属性是否正确):

def oracleUsername = hasProperty('mavenOracleUsername') ? mavenOracleUsername : System.getenv('mavenOracleUsername')
def oraclePassword = hasProperty('mavenOraclePassword') ? mavenOraclePassword : System.getenv('mavenOraclePassword')

repositories {
jcenter()

maven {
url "https://www.oracle.com/content/secure/maven/content"
// url "https://maven.oracle.com"
credentials {
username "${oracleUsername}"
password "${oraclePassword}"
}
}
}

...

dependencies {
compile group: 'com.oracle.jdbc', name: 'ojdbc7', version: '12.1.0.2'
}

当我运行构建时,出现以下错误:

Could not resolve all dependencies for configuration ':compileClasspath'.
> Could not resolve com.oracle.jdbc:ojdbc7:12.1.0.2.
Required by:
project :
> Could not resolve com.oracle.jdbc:ojdbc7:12.1.0.2.
> Could not get resource 'https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/ojdbc7/12.1.0.2/ojdbc7-12.1.0.2.pom'.
> Could not GET 'https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/ojdbc7/12.1.0.2/ojdbc7-12.1.0.2.pom'. Received status code 403 from server: Forbidden

如果我更改凭据,我会收到 401 响应,如果我更改 jar 的版本,我会收到在存储库中找不到错误。

最佳答案

我发现解决方案是将驱动程序版本升级到ojdbc8

此链接有帮助:

https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides

我的 build.gradle 现在看起来像:

def oracleUsername = hasProperty('mavenOracleUsername') ? mavenOracleUsername : System.getenv('mavenOracleUsername')
def oraclePassword = hasProperty('mavenOraclePassword') ? mavenOraclePassword : System.getenv('mavenOraclePassword')

repositories {
jcenter()

maven {
url "https://www.oracle.com/content/secure/maven/content"
// url "https://maven.oracle.com"
credentials {
username "${oracleUsername}"
password "${oraclePassword}"
}
}
}

...


dependencies {
compile group: 'com.oracle.jdbc', name: 'ojdbc8', version: '12.2.0.1'
}

我还记录了我在教程 GitHub 存储库中提出的问题:

https://github.com/robin-a-meade/example-gradle-oracle/issues/1

编辑:这种依赖关系出现了任何问题,所以我必须更改为:

compile(group: 'com.oracle.jdbc', name: 'ojdbc8', version: '12.2.0.1') {
exclude module: 'xmlparserv2'
}

要了解为什么需要这样做,请参阅此处的问题:Is "xmlparserv2" from "com.oracle.jdbc:ojdbc8" (v12.2.0.1) all of a sudden corrupt?

关于java - 403 禁止使用 Oracle 存储库中的 jdbc 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47004794/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com