【发布时间】:2016-08-06 07:15:43
【问题描述】:
我正在尝试 JAXB 用于 Maven 项目中的 xml 映射。我将 JAXB jar 放在一个单独的项目中,并将其作为依赖项添加到我的主项目中。我正在使用 Eclipse。
现在 JAXB 的功能似乎很好,并且从一些 XSD 模式中,在 target/generated-sources/xjc 文件夹中生成了几个 Java 类。问题是 Eclipse 无法在主项目的单元测试中解析这些类。我什至手动导入了这些包名,但类名仍然无法解析。我有什么遗漏吗?
【问题讨论】:
-
目录
target/generated-sources/xjc是你项目中的java源码文件夹吗? -
@f1sh - jaxb 有自己的项目结构,target/generated-sources/xjc 是 JAXB 放置所有这些类的默认位置。我是否必须明确将其标记为某个源文件夹?如何?此外,我注意到我的 jaxb-jar 项目中的 jar 不在本地 .m2\repository 中,即使我在其上运行 maven 安装也是如此。会不会是这个问题?
-
既然你使用了maven为什么不使用JAXB-2 Maven plugin而不是在单独的项目中使用jaxb jar?
-
@vl4d1m1r4 - 我正在使用插件。 “jaxb-jar”是我的项目的名称,其中包含这些生成的类,我打算使用 Maven install 从该项目创建一个 jar 以在我的主项目中使用。
-
在这种情况下,我个人会使用多模块 Maven 项目,并将“jaxb-jar”项目作为依赖项添加到主项目中。确保“jaxb-jar”项目的打包类型为jar,并将生成文件的文件夹作为源文件夹添加到构建路径(右键单击->构建路径->用作源文件夹)。您还可以使用 build-helper-maven-plugin 自动使用 maven 构建添加源文件夹。希望这会有所帮助。
标签: java xml eclipse maven jaxb