Playframework 常春藤+;SBT.12.2和x2B;Play Framework 2.1-解析外部常春藤文件

Playframework 常春藤+;SBT.12.2和x2B;Play Framework 2.1-解析外部常春藤文件,playframework,playframework-2.0,sbt,ivy,Playframework,Playframework 2.0,Sbt,Ivy,我想使用SBT.12.2来解析外部ivy.xml文件中列出的依赖项,这样我的Play应用程序就可以在编译/运行时解析。我正在使用用于eclipse的IvyDE插件,Ivy本身可以解决Ivy.xml文件中的依赖关系 我尝试了,所以这是我当前的Build.scala: object ApplicationBuild extends Build { val appName = "App" val appVersion = "{VERSION}" val appDepende

我想使用SBT.12.2来解析外部ivy.xml文件中列出的依赖项,这样我的Play应用程序就可以在编译/运行时解析。我正在使用用于eclipse的IvyDE插件,Ivy本身可以解决Ivy.xml文件中的依赖关系

我尝试了,所以这是我当前的Build.scala:

object ApplicationBuild extends Build {

    val appName = "App"
    val appVersion = "{VERSION}"

    val appDependencies = Seq(
        javaCore,
        javaJdbc,
        javaEbean
    )

    resolvers += Resolver.file("Local repo", file(System.getProperty("user.home") + "/.ivy2/local"))(Resolver.ivyStylePatterns)
    externalIvySettingsURL(url("file://L:/Utils/ivySettings/ivysettings.xml"))
    externalIvyFile( baseDirectory { base => base / "ivy.xml"} )

    classpathConfiguration in Compile := config("play")
    classpathConfiguration in Test := config("play")
    classpathConfiguration in Runtime := config("play")


    val main = play.Project(appName, appVersion, appDependencies).settings(

    )
}
和my ivy.xml:

<ivy-module version="2.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:noNamespaceSchemaLocation="http://ant.apache.org/ivy/schemas/ivy.xsd">

    <info
        organisation="Company"
        module="App"
        status="Integration">
    </info>

    <configurations>
        <conf name="sources" description="Sources of this library" />
        <conf name="play" description="Building our play library" />  
        <conf name="test" description="Building our test library" />  
    </configurations>

    <dependencies>
        <dependency org="Apache" name="elasticsearch" rev="2.1.0" />
        <dependency org="Apache" name="json-simple" rev="1.1.1" />          
        <!-- Used for testing -->
        <dependency org="Apache" name="Selenium" rev="2.42" conf="test->default" />     
    </dependencies>
</ivy-module>

当我加速播放并调用
依赖项
命令时,我看不到列出的这些依赖项,它们在运行时也不存在。播放时只能看到appDependencies中定义的文件。我使用的是非标准的版本控制模式,但如果我的设置文件没有被提取,我至少应该能够看到依赖项找不到


提前谢谢

好的,文档中的大多数初始语法都很接近,但我没有在播放项目的上下文中应用这些设置。此外,我没有将解析程序指向正确的目录。我的ivy.xml文件很好

  val appName         = "My-Application"
  val appVersion    = ".1"

  val appDependencies = Seq(
    javaCore,
    javaJdbc,
    javaEbean
  )
    resolvers += Resolver.file("Local repo", file("C:/Utils/lib"))(Resolver.ivyStylePatterns)

    val main = play.Project(appName, appVersion, appDependencies).settings(
        externalIvySettingsURL(url("file:///C:/Utils/ivySettings/ivysettings-ian.xml")),
        externalIvyFile(),
        classpathConfiguration in Compile := config("play"),
        classpathConfiguration in Test := config("play"),
        classpathConfiguration in Runtime := config("play"),
        organization := "Company"
    )
SBT将只解析
ivy.xml
文件中的依赖项,因此您需要将
javaCore
javaJdbc
javaEbean
中的依赖项添加到您的ivy文件中进行解析。其他难点包括注意文件描述符的三个斜杠