当前位置: 首页 > 知识库问答 >
问题:

运行Gradle时如何检查java版本?

晏富
2023-03-14

我的一个项目需要Java1.8,但有时我们没有注意到我们使用的是较旧的Java,所以我们会得到一些奇怪的错误。

我想在build.gradle中添加检查功能,这样当我们运行任何任务时,它都会首先检查版本,并立即打印错误和退出。

我尝试在第一行的build.gradle中直接添加检查,但它仍然在检查发生之前执行一些其他任务,例如(cleancompilejava),当我运行:

$ ./gradlew

如何正确地去做?

共有1个答案

贲功
2023-03-14

如果您在构建生命周期的早期进行检查(在build.gradle文件的开头或插件的apply方法中进行简单检查),则不应该看到任何执行的任务。

对于gradle API的一部分,可以使用JavaVersion枚举:

if(JavaVersion.current() != JavaVersion.VERSION_1_8){
    throw new GradleException("This build must be run with java 8")
}
 类似资料:
  • 问题内容: 许多第三方Python模块都有一个属性,该属性保存该模块的版本信息(通常类似或),但有些则不然。 此类模块的特定示例是libxslt和libxml2。 我需要检查这些模块在运行时是否使用了正确的版本。有没有办法做到这一点? 潜在的解决方案是在运行时读取源代码,对其进行哈希处理,然后将其与已知版本的哈希进行比较,但这很讨厌。 有更好的解决方案吗? 问题答案: 我会远离哈希。正在使用的li

  • 我在Mac OS High Sierra上使用自制软件安装了gradle。我想检查这个版本,以及它是否成功安装在我的笔记本电脑上。我没有在Android Studio中使用它。

  • 问题内容: 我想用Java检查Windows版本(基本版,家庭版,专业版或商务版或其他)。 我该怎么做呢? 问题答案: 您始终可以使用Java调用Windows命令“ systeminfo”,然后解析结果,我似乎找不到在Java中原生执行此操作的方法。

  • 本文向大家介绍在运行时检查设备上的Android版本,包括了在运行时检查设备上的Android版本的使用技巧和注意事项,需要的朋友参考一下 示例 Build.VERSION_CODES 是当前已知的SDK版本代码的枚举。 为了有条件地基于设备的Android版本运行代码,请使用TargetApi注释以避免Lint错误,并在运行特定于API级别的代码之前检查生成版本。 这是在支持低于23的API级别

  • 是否可以检查Azure中数据库运行时的版本?

  • 检查模块提供 inspect() 函数,它提供有关各种SQLAlchemy对象的运行时信息,包括核心和ORM中的这些对象。 这个 inspect() 函数是SQLAlchemy公共API的入口点,用于查看内存中对象的配置和构造。取决于传递给的对象的类型 inspect() 返回值要么是提供已知接口的相关对象,要么在许多情况下返回对象本身。 其基本原理是 inspect() 是双重的。其一是它不再需