在maven中处理构建时生成的.class文件

时间:2016-04-29 07:24:36

标签: java class maven

在maven projet中,我有一个非常特定的插件(jsweet-maven-plugin),它在构建时从声明的依赖项动态生成.class文件。我需要那些.class文件在构建路径中,对于maven以及IDE(用于自动完成)。

有没有办法在maven中正确处理它?<​​/ p>

我能想到的最好的方法是做一个专用的maven模块,将这些.class打包在一个jar中,然后将该jar作为依赖项添加到我的其他项目中。这样,那些.class被正确地添加到构建路径中。

但是,此方法在netbeans IDE中失败,因为IDE将依赖关系视为计算机中存在的项目。而不是反编译.class,它寻找相关项目中的源代码并因为没有源代码而失败...直到我改变项目的版本并且IDE依赖于jar而不是源代码。

我喜欢一个generate-classes文件夹,其行为与generate-sources相同,但是对于类文件......是否有一个知道方式的maven-guru?

编辑1:构建时生成的文件不是java源代码,而是已编译的文件(.class extention):字节码。

1 个答案:

答案 0 :(得分:0)

有几种方法:

  1. 生成一次类,并将生成的.java文件复制到src / main / java树中,并注释掉pom.xml中的自动生成内容。这样做的好处是可以向生成的类添加行为和toString()方法,IDE自动完成功能很高兴。缺点是如果你需要再次生成,那么可以进行相当多的合并。
  2. 像您一样创建一个单独的库。在Maven存储库中安装库,并确保也上载了Java源代码。在IDE中关闭项目。 (这适用于Eclipse - 我希望Netbeans的行为类似)。
  3. 我已经尝试了两种方法,并且总是回到选项1.但我通常从WSDL生成JAXWS类。你的确切要求对我来说并不熟悉,祝你好运!