Java 播放无法分析依赖项版本
我目前正在作为前端开发人员开发一个play应用程序。出于超出本问题范围的原因,我将开发从mac转移到windows机器。这就是我的问题所在(惊讶?) 我们的大多数系统都工作得很好,但有一个非常棘手的问题我还没有解决。似乎从未解析过依赖项版本,因此定义为${version.org.codehaus.jackson}的版本保持为${version.org.codehaus.jackson},并且从未解析为其版本号1.9.2 我们的应用程序有(太多?)许多依赖项。这些依赖项在ivysettings中定义,然后整个过程神奇地得到构建(我们使用sbt来管理) 现在,我是一个谦逊的前端开发人员,所以这里有很多魔术。。好吧,魔法。后端团队开始放弃我,我也是,但显然存在一个问题,版本没有被解析 我的最终结果是:Java 播放无法分析依赖项版本,java,playframework,playframework-2.0,sbt,ivy,Java,Playframework,Playframework 2.0,Sbt,Ivy,我目前正在作为前端开发人员开发一个play应用程序。出于超出本问题范围的原因,我将开发从mac转移到windows机器。这就是我的问题所在(惊讶?) 我们的大多数系统都工作得很好,但有一个非常棘手的问题我还没有解决。似乎从未解析过依赖项版本,因此定义为${version.org.codehaus.jackson}的版本保持为${version.org.codehaus.jackson},并且从未解析为其版本号1.9.2 我们的应用程序有(太多?)许多依赖项。这些依赖项在ivysettings中定
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: UNRESOLVED DEPENDENCIES ::
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[warn] :: org.codehaus.jackson#jackson-mapper-asl;${version.org.codehaus.jackson}: not found
[warn] :: commons-configuration#commons-configuration;${version.commons-configuration}: not found
[warn] :: org.codehaus.jackson#jackson-core-asl;${version.org.codehaus.jackson}: not found
[warn] :: org.hibernate#hibernate-core;${version.org.hibernate}: not found
[warn] :: commons-pool#commons-pool;${version.commons-pool}: not found
[warn] :: commons-io#commons-io;${version.commons-io}: not found
[warn] :: log4j#log4j;${version.log4j}: not found
[warn] :: jline#jline;${version.jline}: not found
[warn] :: commons-collections#commons-collections;${version.commons-collections}: not found
[warn] :: commons-beanutils#commons-beanutils;${version.commons-beanutils}: not found
[warn] :: dom4j#dom4j;${version.dom4j}: not found
[warn] :: antlr#antlr;${version.antlr}: not found
[warn] :: org.hornetq#hornetq-core;${version.org.hornetq}: not found
[warn] :: org.hornetq#hornetq-jms;${version.org.hornetq}: not found
[warn] ::::::::::::::::::::::::::::::::::::::::::::::
[trace] Stack trace suppressed: run last *:update for the full output.
[error] (*:update) sbt.ResolveException: unresolved dependency: org.codehaus.jackson#jackson-mapper-asl;${version.org.codehaus.jackson}: not found
我明白这还不足以完全理解这个问题。但是这个项目没有问题,它在我的mac上编译没有任何问题,但在我的windows机器上没有。版本保持为${version.org.whatever},而不是解析为漂亮的版本
Play2.2.2和sbt(我想是0.13)都已经安装好了,同时还安装了一个工作的JavaJDK。基于大致相同的代码库的其他项目也适用
苏。有人能给我一个正确的方向吗?我现在不知所措,有没有办法介入到版本解析或什么来看看发生了什么
多亏有时间看这个的人
Bå路
编辑:添加了my build.scala[]中的所有值都已被故意删除
import sbt._
import Keys._
import play.Project._
object ApplicationBuild extends Build {
val appName = "[myApp"
val appVersion = "1.5-SNAPSHOT"
val solrsearchVersion = "4.4-SNAPSHOT"
val syndicationVersion = "1.15-SNAPSHOT";
val playCommonsVersion = "0.1-SNAPSHOT";
val nexusDomain = "[myNexus]"
val nexusWimp = "http://" + nexusDomain + "[nexuspath]"
val appDependencies = Seq(
// PLAY MODULES
javaCore,
javaEbean,
"[mycompany]" %% "play-commons" % playCommonsVersion,
"[mycompany].syndication" % "syndication-api" % syndicationVersion,
"[mycompany].syndication.user" % "user-api" % syndicationVersion,
"[mycompany].syndication.playlist" % "playlist-api" % syndicationVersion,
"[mycompany].syndication" % "syndication-client" % syndicationVersion,
"[mycompany].system.solrsearch" % "solrsearch-api" % solrsearchVersion,
"com.google.inject" % "guice" % "3.0",
"com.google.guava" % "guava" % "15.0",
"joda-time" % "joda-time" % "2.3"
)
val main = play.Project(appName, appVersion, appDependencies).settings(
organization := "[mycompany]",
credentials += Credentials("Sonatype Nexus Repository Manager", nexusDomain, "[username]", "[password]"),
resolvers := Seq(
// LOCAL
"Local Maven" at "file://" + Path.userHome.absolutePath + "/.m2/repository",
// TYPESAFE
"Typesafe" at "http://repo.typesafe.com/typesafe/releases/",
// [myCompany]
"[myCompany] nexus repository" at nexusWimp
),
publishTo := {
Some("[myCompany] nexus repos" at nexusWimp)
}
)
val printWriter = new java.io.PrintWriter(new File("VERSION"))
能否提供构建文件的内容?它应该是项目根目录下的
build.sbt
文件或project
目录下的build.scala
。感谢您的关注。在最初的帖子中添加了build.scala。这有点遥不可及,但您可以将logLevel:=Level.Debug
添加到project/plugins.sbt
,并在Mac和Windows版本之间比较消息(在执行clean
)。如果所有这些都失败了,请在虚拟机中工作!谢谢,这把我推向了正确的方向。。我希望如此。似乎ivy依赖项存在问题,因为工作的项目都是maven项目。。我会发帖的,但你给了我希望。