使用 Java 7 编译我的项目,但使用 Java 8 在 Gradle 中运行我的测试

Posted

技术标签:

【中文标题】使用 Java 7 编译我的项目,但使用 Java 8 在 Gradle 中运行我的测试【英文标题】:Use Java 7 to compile my project but use Java 8 to run my tests in Gradle 【发布时间】:2016-06-14 01:49:52 【问题描述】:

目前我正在将我的战争部署到支持java 7weblogic 服务器,但想在我的selenium 和Junit tests 中利用Java 8

如何在我的 Gradle 构建中指定使用 1.7 来编译和构建我的 WAR,同时使用 1.8 运行我的测试?

【问题讨论】:

您的 Gradle 构建在做什么?您应该发布所需的信息以确保其正常工作或定义问题。 AFAIP 不清楚你在问什么。 您是在问如何使用 Java7 编译器构建 Java8 代码?!?! 我认为他的意思是使用 jdk 1.7 构建并使用 jdk 1.8 运行测试(暗示源代码级别为 1.7) 我的错...重新阅读问题,你是对的,他的意思是用 jdk7 构建 java8:“想在我的 selenium 和 Junit 测试中利用 Java 8” 【参考方案1】:

将源代码和测试拆分为 2 个模块。 然后,指定每个模块的源和目标级别:

allprojects 
    sourceCompatibility = 1.7
    targetCompatibility = 1.7

使用 JDK1.8 构建将生成 1.7 的 jar/war。只需为您的测试项目覆盖它并将其设置为 1.8。

检查这个:compiling-a-project-with-different-java-source-compatibility

【讨论】:

检查这个:***.com/questions/18190614/…

以上是关于使用 Java 7 编译我的项目,但使用 Java 8 在 Gradle 中运行我的测试的主要内容,如果未能解决你的问题,请参考以下文章

如何在Java 6中使用为Java 7编译的库?

为啥我的 java 编译器级别与我安装的项目方面不匹配?

如何使用远程 Java 编译器?

IntelliJ IDEA 中带有 Gradle 的 Java 项目:无法解析符号“google”但项目编译

使用Jenkins自动编译我的 java 项目 git maven jenkins

此编译单元不在 Java 项目的构建路径上