在一个特定的项目中,我(目前)只被允许使用 JRE6 来执行 Java 应用程序。因此,我为源和目标配置了 1.6 的 maven-compiler-plugin
。
在我的 Maven 依赖项中,我包含了一个本身针对 1.7 的依赖项,并且还使用了 try-with-resources 等 1.7 功能——我认为这会在我自己的项目中导致一些编译时错误或警告(我是使用 Eclipse)。但事实并非如此,所以我的问题是:在在特定目标 JRE(在我的例子中是 JRE6)上运行应用程序(或测试)之前,是否有可能检测到此类问题?
最佳答案
虽然只是部分答案,但我找到了针对 Mihai 提到的具有不同库签名的问题的解决方案。有 Animal Sniffer Maven Plugin它允许您指定它在某个阶段(例如测试)检查的特定 Java 运行时。
但这并没有解决类文件版本问题,因为 Maven 只是吞下了(-nowarn)来自 javac 的那些警告,如 a comment 中所解释的那样对于这个问题。
关于java - 我可以在 <=1.6 的项目中检测到 target>1.6 的依赖项吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14430466/