2012-09-17 46 views
1

我開始了一個新的播放項目:xyz。我想添加對customGroupId的依賴關係:customArtifactId:0.10託管在主機nexus.xyz.com上的nexus存儲庫中,但只能通過用戶名和密碼訪問。playframework解決工件與證書到nexus服務器

所以,我編輯XYZ \項目\ Build.scala與

import sbt._ 
import Keys._ 
import PlayProject._ 

object ApplicationBuild extends Build { 

    val appName   = "xyz" 
    val appVersion  = "1.0-SNAPSHOT" 

    val appDependencies = Seq(
     "customGroupId" % "customArtifactId" % "0.10" 
    ) 

    val main = PlayProject(appName, appVersion, appDependencies, mainLang = JAVA).settings(
     credentials += Credentials("realm1", "nexus.xyz.com", "myUser", "myPassword"), 

     resolvers += "realm1" at "https://nexus.xyz.com/svn/eessi/maven2/releases" 
    ) 

} 

然後,我在某某跑了。

play 
run 

我得到

play! 2.0.3, http://www.playframework.org 
[xyz] $ run 
[info] Updating {file:/C:/Users/grigocn/work/xyz/}xyz... 
[warn] module not found: customGroupId#customArtifactId;0.10 
[warn] ==== local: tried 
[warn] c:\Users\grigocn\apps\play\framework\..\repository/local/customGroupId/customArtifactId/0.10/ivys/ivy.xml 
[warn] ==== Typesafe Releases Repository: tried 
[warn] http://repo.typesafe.com/typesafe/releases/customGroupId/customArtifactId/0.10/customArtifactId-0.10.pom 
[warn] ==== realm1: tried 
[warn] https://webgate.ec.europa.eu/CITnet/svn/eessi/maven2/releases/customGroupId/customArtifactId/0.10/customArtifactId-0.10.pom 
[warn] ==== public: tried 
[warn] http://repo1.maven.org/maven2/customGroupId/customArtifactId/0.10/customArtifactId-0.10.pom 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
... 

PS。我試圖按照這個,但沒有工作:Play framework and sbt: passing credentials to a nexus passowrd protected repo

回答

1

你檢查領域名稱是否正確? 我的Nexus境界(我認爲是默認領域),例如是

Sonatype的的Nexus倉庫管理器

0

我發現/想起境界不是一個唯一的標識符,我可以用它來指代一臺服務器,但是您在進行身份驗證時由服務器顯示的文本。

在這種情況下的境界是「PROXY_INTERNET」 realm authentication

所以,現在我的配置的作品如下。請注意,「eessi-releases」不是服務器的領域或ID。

import sbt._ 
import Keys._ 
import PlayProject._ 
import com.github.play2war.plugin._ 

object ApplicationBuild extends Build { 

    val appName   = "reliable-transport-ui" 
    val appVersion  = "1.0-SNAPSHOT" 
    val bmServerVersion = "0.113" 

    //val mySubProject = Project("transport-server", file("../reliable-transport-server/src/main/java")) 
    //val mySubProject2 = Project("transport-server", file("../reliable-transport-server/src/main/resources")) 


    val appDependencies = Seq(
     javaCore, 
     javaJdbc, 
     // Add your project dependencies here, 
     "commons-io" % "commons-io" % "1.4" 
    ) 

    import com.typesafe.sbteclipse.core.EclipsePlugin._ 

    import play.Project._ 

    val main = play.Project(appName, appVersion, appDependencies).settings(defaultScalaSettings:_*).settings(
     //Subversion is the realm - the text displayed by server when it asks for username/password. Don't change it from <Subversion> 
     credentials += Credentials("Subversion", "webgate.ec.europa.eu", "grigocn", "<pass>") 

     ,resolvers += "eessi-releases" at "https://webgate.ec.europa.eu/CITnet/svn/eessi/maven2/releases" 

     ,resolvers += "eessi-thirdparty" at "https://webgate.ec.europa.eu/CITnet/svn/eessi/maven2/thirdparty" 

     ,resourceDirectory in Test <<= baseDirectory(_/"test-resources") 

     ,EclipseKeys.createSrc := EclipseCreateSrc.Default + EclipseCreateSrc.Resource 

     ,EclipseKeys.withSource := true 
    ) 
)