【发布时间】:2016-05-14 12:05:39
【问题描述】:
我想使用 SBT .12.2 来解析外部 ivy.xml 文件中列出的依赖项,以便我的 Play 应用程序可以在编译/运行时解析。我用的是eclipse的ivyDE插件,ivy可以自己解析ivy.xml文件中的依赖。
我尝试follow these docs,所以这是我当前的 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(
)
}
还有我的 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>
当我启动 Play 并调用 dependencies 命令时,我没有看到列出的这些依赖项,并且它们在运行时不存在。 Play 可以看到的唯一文件是 appDependencies 中定义的文件。我使用的是非标准版本控制模式,但如果我的设置文件没有被拾取,我至少应该能够看到找不到依赖项。
提前致谢!
【问题讨论】:
标签: playframework playframework-2.0 sbt ivy