我试图将一长串项目移动到maven,作为概念验证项目的一部分。第一步是让它们进行编译,这样我就可以向开发团队展示这可以做到这一点,这样我就可以与他们一起完全实现项目的整合。
其中一些项目在一个糟糕的java类上失败了。我已经尝试对这些文件进行排除,我可以看到排除是由maven看到的(行
[INFO] Compiling 31 source files to...
添加排除后,更改源文件的数量),但是在编译过程中相同的源文件仍会导致相同的错误。
看起来这些文件经常被认为并非总是生成文件。但无论如何,它正在尝试编译我要求它不要编译的文件。所以我的问题是: 1)这些文件是否由编译器重新添加,因为它构建了它的编译时依赖性?如果是这样,是否有一种方法可以追溯哪些文件调用哪些文件不涉及读取所有(有时是数百个)源? 2)有没有更好的方法通过maven获得排除?
谢谢!
答案 0 :(得分:0)
这似乎是一个已报告的未解决的错误MCOMPILER-174:
它不会将带有.java文件列表的文件传递给javac。但是,它仍然会将-sourcepath选项下的./src/目录传递给javac命令。因此,javac仍然知道该文件存在,并且可以在某些情况下尝试编译它。
(也在Compiling only selected files in Maven中讨论过。)
您可以创建一个Maven构建,该构建将使用另一个src
目录并在构建开始时填充它,但是,如果您尝试识别由于删除此文件而导致的故障,我建议排除它通过您的IDE或在文件系统上移动它。