scala – Play框架和sbt:将凭据传递给nexus passowrd受保护的仓
我需要将以下库定义为依赖项:
网址:http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/ 用户:testmx 传递:testmx @ testmx groupId:testmx artifactId:testmxcommons 版本:1.0.0-SNAPSHOT 所以我定义了以下项目/ Build.scala import sbt._ import Keys._ import PlayProject._ object ApplicationBuild extends Build { val appName = "testmxproject" val appVersion = "1.0-SNAPSHOT" val appDependencies = Seq( "mysql" % "mysql-connector-java" % "5.1.18","testmx" % "testmxcommons" % "1.0.0-SNAPSHOT" ) val main = PlayProject(appName,appVersion,appDependencies,mainLang = SCALA).settings( credentials += ("testmx public","deploy.cloud.testmx.com:8081","testmx","testmx@testmx"),resolvers += "testmx public" at "http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/" ) } 我收到以下错误: [warn] module not found: testmx#testmxcommons;1.0.0-SNAPSHOT [warn] ==== testmx public: tried [warn] http://deploy.cloud.testmx.com:8081/nexus/content/groups/public/testmx/textmxcommons/1.0.0-SNAPSHOT/textmxcommons-1.0.0-SNAPSHOT.pom 我尝试了几种替代品,但他们给了我同样的错误…… 我查了this article和SO question 并且还尝试将用户和密码保存在外部文件中,如here和here所述. 任何的想法? – 编辑澄清 – 我更改了真正的网址,因为它不是我正在使用的公共回购…真正的网址就在那里,而sbt试图找到的pom确实存在… ps:BTW .. sbt scaladocs在哪里??? 解决方法
您需要告诉SBT您要发布到哪个存储库:
publishTo := Some("testmx public" at "http://deploy.cloud.testmx.com:8081/nexus") 此外,如果您不想在Build文件中保留凭据,可以通过添加以下行来告诉它在本地检索它们: credentials += Credentials(Path.userHome / ".ivy2" / ".credentials"), 在?/ .ivy2目录中创建一个.credentials文件,如下所示: realm=Sonatype Nexus Repository Manager host=deploy.cloud.testmx.com user=testmx password=testmx@testmx 有关更多信息,请参见https://github.com/harrah/xsbt/wiki/Publishing (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |