这是如何使用JAXB对基于camelcased的Java强调XML?的一个后续问题。
我正在尝试使用Scala中的Moxy (EclipseLink的一部分)(SBT0.10.0),并且很难找到如何导入和使用它。要将其分为两部分:
1.导入Moxy
这一次,我在mvnrepository.com上找不到合适的东西。通过阅读Maven安装程序上的此页面,我希望以下内容能够奏效:
// /project/Dependencies.scala
object Dependencies {
val resolutionRepos = Seq(
ScalaToolsSnapshots,
"EclipseLink Repo" at "http://www.eclipse.org/downloads/download.php?r=1&nf=1&file=/rt/eclipselink/maven.repo"
)
object V {
val moxy = "2.1.0"
}
object Runtime {
// We use Moxy for the naming convention transforms
val moxy = "org.eclipse.persistence" % "javax.eclipselink" % V.moxy
}但是sbt在抱怨module not found: org.eclipse.persistence#javax.eclipselink;2.1.0
2.指定Moxy为我的JAXB提供程序
与上述固定(谢谢S.R.!)下一个问题是,我很难将Moxy指定为我的JAXB提供程序。根据Blaise在这篇文章中的说明,看起来我需要在与我的表示相同的包中放置一个带有以下条目的jaxb.properties文件:
javax.xml.bind.context.factory=org.eclipse.persistence.jaxb.JAXBContextFactory但不幸的是,在运行sbt时,似乎没有发现这一点。有什么想法吗?
任何感激的帮助。大家圣诞快乐!
发布于 2011-12-26 00:14:22
警告:我对SBT语法不太熟悉
尽管如此,您的问题似乎是从sbt加载资源的问题。通常,项目中的资源文件夹( sbt或maven )中有属性文件、图像和其他相关项,因为sbt遵循maven项目结构。由于jaxb.properties需要在与JAXB表示类相同的包中,所以需要配置sbt,以便在src文件夹中查找这个包。查看这页面,特别是关于非托管和托管依赖关系的部分。
或者,这一页讨论资源问题。希望这能回答你的问题。:)
编辑
另一件您可以考虑的事情是,由于非源项目组件是由sbt从resources文件夹中自动获取的--您可以将jaxb.properties放在复制路径的resources目录中,就像在src文件夹中一样。例如,如果JAXB表示形式位于src目录中的包src中,您可以复制resources中的结构,就像在src/main/resources/com/foo/bar/baz中一样,并将属性文件放在那里。我相信sbt会把它装入类路径。
https://stackoverflow.com/questions/8629025
复制相似问题