java - 我可以在 <=1.6 的项目中检测到 target>1.6 的依赖项吗?

标签 java maven

在一个特定的项目中,我(目前)只被允许使用 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/

相关文章:

java - 我没有使用 cmd .prompt 在 java 中获得正确的输出

java - readShort()期间如果出现超时异常,socket接收到的数据会发生什么情况?

java - Mockito:获取模拟对象中字段的值

java - 在执行 Maven 构建或打包时从最终 jar 中删除记录器行

maven - Apache Maven 项目中的 GitHub 依赖

java - 为什么我不能在 split() 函数中使用 "."作为分隔符?

java - 使用不带replaceAll()的循环打印不带元音的UI; java 语

java - 与最新版本 Selenium Webdriver 和 PhantomJs 的兼容性问题

java - 使用 spring 的 pom.xml 中的 Maven 错误

java - mvn 端点框架 :openApiDocs does not read parameters