在我们的项目中,我们使用jaxb2-maven-plugin
从XML Schema生成Java源代码,这导致我们的Maven模块需要额外的源代码目录(在我们的例子中为target/generated/main/java
)。到目前为止,我一直在使用Eclipse和maven-eclipse-plugin
将所有项目导入Eclipse工作区。该插件(以某种方式)能够将生成的源代码的目录自动添加到Eclipse的.classpath文件中。
最近我尝试切换到(玩?)IntelliJ IDEA 9(所以我是这个环境中的新手),我注意到在IDEA的导入过程中没有添加额外的源目录......
有没有什么方法可以配置IDEA / Maven自动导入带有生成源代码的目录?
答案 0 :(得分:25)
使用Maven的约定是在target/generated-sources/<tool>
中生成代码,例如target/generated-sources/jaxb2
遵循此惯例,IDEA会将该文件夹添加为源文件夹(请参阅IDEA-53198)。
答案 1 :(得分:2)
使用jaxb2-maven-plugin生成的代码在Intellij 2017中缺少了,而Eclipse Neon创建了它。 通过选择'Maven - &gt;从模块的上下文菜单中修复它生成源和更新文件夹'。
答案 2 :(得分:1)
尝试使用maven-jaxb2-plugin。如果它不起作用,那就是IDEA问题。
在Maven中,您可以为每个配置添加新的源根。 Maven插件可以通过编程方式执行此操作。这肯定是maven-jaxb2-plugin
的情况。然后,如果IDEA无法识别它,那么这就是问题。
答案 3 :(得分:0)
您可以使用Maven Build Helper插件。它位于http://www.mojohaus.org/build-helper-maven-plugin/
它允许配置其他源根。而IntelliJ的maven集成将添加新的源根。我们在很多版本中使用此功能,它工作得很好。经过测试。 IntelliJ IDEA的第13条。