首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Maven不编译target/hibernate3/generated-sources

Maven不编译target/hibernate3/generated-sources
EN

Stack Overflow用户
提问于 2010-05-27 05:05:03
回答 1查看 3.7K关注 0票数 1

谁能告诉我如何配置maven,使其也能编译target/hibernate3/generated-sources目录中的源代码?我已经阅读了this和其他帖子,但它们似乎并没有解决我的问题(这确实看起来微不足道)。

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

我只想用command-linepluginspom.xml来解决这个问题。有没有办法将maven-compiler-plugin配置为这样做?还是有别的办法?

致以问候并感谢您的帮助。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-05-27 05:13:42

约定是用target/generated-sources/<generator>生成代码,所以在您的例子中,我会用target/generated-sources/hibernate3生成源代码(遗憾的是,hibernate3插件默认不遵循这个约定)。无论如何,事情应该可以工作,实际上,我在this previous answer中发布的POM确实可以(我重新运行了我的样例项目,它肯定可以工作)。你会成为MHIBERNATE-104的受害者吗?老实说,我很困惑。

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

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

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2916790

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档