Oracle ojdbc8 12.2.0.1 错误的 pom 编码

Oracle ojdbc8 12.2.0.1 bad pom encoding

尝试从 gradle 项目中的 Oracle Maven Repo 下载,它失败了,因为 pom 文件编码似乎有问题。

如果您使用 Oracle 凭据创建这样的 build.gradle 文件:

plugins {
  id 'java'
  id 'distribution'
}    
repositories {
  maven {
    url 'https://www.oracle.com/content/secure/maven/content'
    credentials {
      username 'user@gmail.com'
      password 'mypwd'
    }
  }
}

dependencies {
  compile 'com.oracle.jdbc:ojdbc8:12.2.0.1'
}

distributions {
    main {
        contents {
            from configurations.compile
        }
    }
}

然后执行:

$> gradle distZip

失败:

Could not resolve com.oracle.jdbc:orai18n:12.2.0.1. Required by: project : > com.oracle.jdbc:ojdbc8:12.2.0.1 Could not resolve com.oracle.jdbc:orai18n:12.2.0.1. Could not parse POM https://www.oracle.com/content/secure/maven/content/com/oracle/jdbc/orai18n/12.2.0.1/orai18n-12.2.0.1.pom Byte no válido 1 de la secuencia UTF-8 de 1 bytes

我已经削减了输出,但第一个引用的其余 poms 失败了。

如果您通过浏览器下载文件,文件中似乎包含 latin-1 编码字符(而不是 xml 第一行中指示的 utf-8)。

好像以前发生过:https://community.oracle.com/thread/4031349

是否可以绕过这个?

似乎只有可选依赖项才会失败(ojdbc8 和 ucp 下载正常)。 为避免出现问题,并且如果您不需要这些依赖项,请在 build.gradle:

中以这种方式排除它们
compile ('com.oracle.jdbc:ojdbc8:12.2.0.1') {
    exclude group: 'com.oracle.jdbc'
}