Java 更好地理解maven编译排除

Java 更好地理解maven编译排除,java,maven,javac,Java,Maven,Javac,作为概念验证项目的一部分,我正在尝试将一长串项目转移到maven。第一步是让他们编译,这样我就可以向开发团队展示这是可以做到的,这样我就可以和他们一起工作,让项目完全专业化 许多这样的项目在一个坏java类上失败。我已经尝试过对这些文件进行排除,我可以看到maven(行)看到了排除 [INFO] Compiling 31 source files to... 在添加排除后更改源文件的数量),但在编译过程中,相同的源文件仍将导致相同的错误 看起来,这些文件通常是生成的文件,虽然并不总是这样。但

作为概念验证项目的一部分,我正在尝试将一长串项目转移到maven。第一步是让他们编译,这样我就可以向开发团队展示这是可以做到的,这样我就可以和他们一起工作,让项目完全专业化

许多这样的项目在一个坏java类上失败。我已经尝试过对这些文件进行排除,我可以看到maven(行)看到了排除

[INFO] Compiling 31 source files to... 
在添加排除后更改源文件的数量),但在编译过程中,相同的源文件仍将导致相同的错误

看起来,这些文件通常是生成的文件,虽然并不总是这样。但在任何情况下,它都试图编译我要求它不要编译的文件。因此,我的问题是: 1) 编译器在构建编译时依赖关系时,是否会将这些文件添加回编译器?如果是这样,有没有一种方法可以追溯哪些文件调用哪些文件,而不需要读取所有(有时是数百个)源? 2) 有没有更好的方法通过maven获得排除


谢谢

这似乎是一个报告的、未解决的错误:

它不会将包含.java文件列表的文件传递给javac。但是,它仍然将-sourcepath选项下的./src/目录传递给javac命令。因此,javac仍然知道该文件存在,并且在某些情况下可以尝试编译它

(也在中讨论。)


您可以创建一个Maven构建,该构建将使用备用的
src
目录,并在构建开始时填充它,但是,如果您试图识别删除此文件导致的故障,我建议通过IDE将其排除在外,或者将其移动到文件系统上。

您运行的maven目标是什么?您可以检查
mvn dependency:tree
以查看添加了哪些范围的详细依赖项,这将有助于dependency tree仅显示正在添加的库,它似乎没有告诉我任何关于正在编译的实际.java文件的信息。。。?