1

有人可以告诉我如何为它配置 Maven 以从target/hibernate3/generated-sources目录中编译源代码吗?我已经阅读了这篇文章和其他文章,但它们似乎并没有解决我的问题(这确实看起来微不足道)。

我使用自下而上的方法休眠配置来生成cfg.xml、hbm.xml 和POJO(即从现有数据库模式中自动生成完整的休眠配置)。我也只使用标准mavenhibernate3-plugin目录布局。然而,当mvn compile我的源代码在命令行中执行时src/main/java,生成的源代码/target/hibernate3/generated-sources仅来自src/main/java编译并复制到target/classes. 我不想生成源代码src/main/java,因为我想mvn clean清理它们。

我想使用command-line,plugins并且pom.xml仅解决问题。有没有办法配置maven-compiler-plugin这样做?还是有其他方法?

问候并感谢您的帮助。

4

1 回答 1

4

约定是生成代码,target/generated-sources/<generator>所以在你的情况下,我会生成源代码target/generated-sources/hibernate3(很遗憾 hibernate3 插件默认不遵循这个约定)。无论如何,事情应该会奏效,实际上,我在上一个答案中发布的 POM确实有效(我重新运行了我的示例项目,它确实有效)。你会成为MHIBERNATE-104的受害者吗?老实说,我很困惑。

作为一种解决方法,您可以使用Build Helper Maven Plugin及其build-helper:add-source目标将您的目录添加为源目录。有关配置示例,请参阅使用页面。


我正在使用您在此处提出的 pom,只是没有插入默认的构建生命周期(没有执行)。

这一定是问题的原因:如果hibernate3:hbm2java不是构建生命周期的一部分,它就没有机会将输出目录注册为源文件夹。所以 Maven 在“正常构建”期间并没有意识到它,只会忽略它。

于 2010-05-26T21:13:41.957 回答