我想通过SBT下载oracle数据库驱动程序。如此处所述https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides,它们受密码保护。在SBT手册(http://www.scala-sbt.org/0.13/docs/Publishing.html)中,提到可以为解析器指定凭证。应用时如:
resolvers += "oracle" at "https://maven.oracle.com"
credentials += Credentials("oracle download", "maven.oracle.com", "myEmail@gmail.com", "password")
libraryDependencies ++= Seq(
"com.oracle.jdbc" % "ojdbc8" % "12.2.0.1"
)
我还是得到了
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.oracle.jdbc#ojdbc8;12.2.0.1: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
配置中缺少什么?
将凭据更改为
时credentials += Credentials("maven.oracle.com", "maven.oracle.com", "E-Mail", "password")
结果是
[error] Unable to find credentials for [OAM 11g @ login.oracle.com].
[warn] module not found: com.oracle.jdbc#ojdbc8;11.2.0.4
[warn] ==== local: tried
[warn] /Users/geoheil/.ivy2/local/com.oracle.jdbc/ojdbc8/11.2.0.4/ivys/ivy.xml
[warn] ==== oracle: tried
[warn] https://maven.oracle.com/com/oracle/jdbc/ojdbc8/11.2.0.4/ojdbc8-11.2.0.4.pom
[info] Resolving org.apache#apache;14 ...
[error] Unable to find credentials for [OAM 11g @ login.oracle.com].
[info] Resolving jline#jline;2.12.1 ...
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: com.oracle.jdbc#ojdbc8;11.2.0.4: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
如何找到正确的oracle领域?
Unable to find credentials for [OAM 11g @ login.oracle.com]
会建议OAM 11g
是领域,但这仍然会导致同样的问题。此外,https://blogs.oracle.com/dev2dev/get-oracle-jdbc-drivers-and-ucp-from-oracle-maven-repository-without-ides建议OAM 11g
不起作用。
对于gradle,似乎有一种解决方法:https://groups.google.com/forum/#!topic/gradle-dev/G8X_41lOIlU
maven {
url 'https://www.oracle.com/content/secure/maven/content'
credentials {
username 'user'
password 'password'
}
但到目前为止,我无法通过SST获得任何选项(通过SSO的正确领域,解决方法)。
到目前为止,最佳解决方法是Find Oracle JDBC driver in Maven repository
在此处找到可重现的示例: https://github.com/geoHeil/oracleJBCMavenSBT
答案 0 :(得分:1)
1)我在github
结帐您的项目2)我运行此命令以查找我的Maven安装路径:
mvn -version
3)我使用您的设置编辑.... \ apache-maven-3.5.0 \ conf \ settings.xml文件
4)我运行此命令:
mvn clean install
5)我有同样的错误
上验证了我的帐户7)我使用有效的登录名/密码编辑.... \ apache-maven-3.5.0 \ conf \ settings.xml文件
8)我运行此命令,我有一个 Maven BUILD SUCCESS :
mvn clean install
您需要有效的Oracle帐户才能解决问题。
注意:的
如果您使用travic-ci,请运行以下命令:
mvn clean install --settings settings.xml
在settings.xml文件中:
<server>
<id>maven.oracle.com</id>
<username>${OTN_USERNAME}</username>
<password>${OTN_PASSWORD}</password>
<configuration>
<basicAuthScope>
<host>ANY</host>
<port>ANY</port>
<realm>OAM 11g</realm>
</basicAuthScope>
<httpConfiguration>
<all>
<params>
<property>
<name>http.protocol.allow-circular-redirects</name>
<value>%b,true</value>
</property>
</params>
</all>
</httpConfiguration>
</configuration>
</server>
在travic-ci中,添加2个环境变量(https://travis-ci.org/YOUTORGANIZATION/YOURREPOSITORY/settings):
答案 1 :(得分:0)
...
resolvers += "OAM 11g" at "https://maven.oracle.com",
credentials += Credentials("OAM 11g", "login.oracle.com", "mail", "pass"),
libraryDependencies += "com.oracle.jdbc" % "ojdbc8" % "18.3.0.0" exclude("com.oracle.jdbc", "ucp"),
...
有效。