相关疑难解决方法(0)

如何在Ubuntu Linux上安装JDK

我正在尝试在Ubuntu Linux发行版上安装Java Development Kit(JDK),但我无法安装它.

在Ubuntu上安装它的步骤是什么?

java ubuntu

532
推荐指数
13
解决办法
121万
查看次数

如何更改IntelliJ IDEA默认JDK?

我使用IntelliJ IDEA作为我的开发环境,使用Maven作为依赖管理.我经常在IDEA之外构建我的项目结构(目录,poms等),然后使用将项目导入IDEA Import project from external model.这很好用,除了在我的poms中我指定maven-compiler-plugin应该使用JDK 1.6,当我导入时,IDEA告诉我那个Language Level Changed和那个Language level changes will take effect on project reload,然后提示重新加载项目.这很烦人,因为我总是使用相同的JDK版本.

如何更改IntelliJ IDEA使用的默认JDK,以便每次导入新项目时都不必重新加载项目?

java intellij-idea

198
推荐指数
9
解决办法
25万
查看次数

如何在Android Studio和Gradle中设置-source 1.7

尝试在Android Studio中编译项目时出现以下错误:

Gradle: error: diamond operator is not supported in -source 1.6
Run Code Online (Sandbox Code Playgroud)

在我找到的所有项目偏好中,我已将1.7设置为目标.项目SDK中1.7 SDK下显示的路径也是java 1.7安装的正确路径.

即使我在终端中运行java -version,它也告诉我我正在运行java 1.7.

我试图将JAVA_HOME env变量设置为:

/Library/Java/JavaVirtualMachines/jdk1.7.0_25.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

错误不会消失.如何消除错误?

java intellij-idea gradle java-7 android-studio

177
推荐指数
5
解决办法
13万
查看次数

如何在 IntelliJ 中修复“不受支持的类文件主要版本 60”?

我在 Ubuntu 中有一个 Gradle 项目。它是用 Java 14 编写的。我安装了 Java 14 JDK。当我从命令行构建它时,一切正常,但没有人想使用命令行!当我在 IntelliJ Idea 中打开它时,它会抛出一个错误:

* Where:
Initialization script '/tmp/ijmapper.gradle`

* What went wrong:
Could not compile initialization script '/tmp/ijmapper.gradle`.
> Startup failed:
General error during semantic analysis: Unsupported class file major version 60.
Run Code Online (Sandbox Code Playgroud)

紧随其后的是一段长而无用的堆栈跟踪,其中说了很多关于 Groovy 的信息。(该项目不是 Groovy 项目;它是一个 Java 项目。)

主要版本 60 指的是 Java 16,该项目未使用该版本。我已经进入项目结构并确保它设置为使用 JDK 版本 14。但名称“ijmapper”表明这与 IntelliJ 有关系,这可能是 IDE 问题而不是项目问题。

映射器文件只是说:

if(!ext.has('mapPath')) ext.mapPath = { path -> path}

换句话说,一个简单的 polyfill。

有谁知道这里发生了什么以及如何解决它?我已经浪费了一天的时间来尝试让它发挥作用,我快到这里了!

java ubuntu groovy intellij-idea

46
推荐指数
12
解决办法
6万
查看次数

如何以os独立方式设置Gradle`options.bootClasspath`?

因为我的Java源代码和目标必须是JRE 1.6兼容的,所以我需要设置options.bootClasspath一个包含1.6版本rt.jar和的路径jce.jar.它必须建立在Windows和Unix(Linux/Solaris)上.这样做的正确方法是什么?我现在在我的顶层使用以下方法build.gradle,它可以工作,但它似乎远非优雅,尤其是依赖于os的分隔符:;:

import org.apache.tools.ant.taskdefs.condition.Os

subprojects {
  apply plugin: 'java'

  compileJava {
    sourceCompatibility = 1.6
    targetCompatibility = 1.6
    def java6_home = System.getenv("JAVA_HOME_6")
    def java6_lib = "C:/localdata/Program Files (x86)/Java/jdk1.6.0_45/jre/lib/"

    if (java6_home != null) {
      java6_lib = java6_home + "/jre/lib/"
    }

    def sep = ':'
    if (Os.isFamily(Os.FAMILY_WINDOWS)) {
      sep = ';'
    }
    options.bootClasspath = java6_lib + "rt.jar" + sep + java6_lib + "jce.jar"
  }
}
Run Code Online (Sandbox Code Playgroud)

java groovy gradle

20
推荐指数
1
解决办法
9012
查看次数

如何使用gradle强制执行java编译器版本?

在我的所有项目中,我使用gradle并指定以下内容:

sourceCompatibility = "1.7"; // for example
targetCompatibility = "1.7"; // defaults to sourceCompatibility
Run Code Online (Sandbox Code Playgroud)

现在,我安装了三个不同版本的JDK,从1.6到1.8.为了从一个版本切换到另一个版本,我source改变了shell文件PATH,JAVA_HOME甚至JDK_HOME.

偶然可能会发生我使用错误的JDK版本而我不希望...在尝试任何编译任务之前是否有可能检查编译器版本是否等于targetCompatibility?

java javac gradle

17
推荐指数
2
解决办法
9407
查看次数

如何在运行gradle时检查java版本?

我的一个项目需要Java 1.8,但有时我们没有注意到我们使用的是旧版java,因此我们会遇到一些奇怪的错误.

我想添加签入build.gradle,这样当我们运行任何任务时,它将首先检查版本,并打印错误并立即退出.

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

$ ./gradlew
Run Code Online (Sandbox Code Playgroud)

怎么做正确?

gradle

12
推荐指数
2
解决办法
8268
查看次数

gradlew 使用错误的 Java 版本

我正在使用 Kotlin 开发 Android 应用程序。我正在通过命令行 ./gradlew klint 运行 kotlin linter。
但这给了我一个错误:

Gradle 4.4 需要 Java 7 或更高版本才能运行。您当前使用的是 Java 6。

当我检查项目结构时,我使用的是嵌入式JDK。
我还将 android studio 更新到了最新版本。我不知道如何将嵌入式JDK更新到最新版本。

java version

“1.6.0_65”Java(TM) SE 运行时环境(版本 1.6.0_65-b14-468) Java HotSpot(TM) 64 位服务器 VM(版本 20.65-b04-468,混合模式)

which java- /usr/bin/java

echo $PATH-/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/username/Library/Android/sdk/platform-tools

echo $JAVA_HOME- 空的

java macos android gradle

10
推荐指数
2
解决办法
2万
查看次数

Flutter 第一次构建错误:无法为 7yvt6la2007dno98lt3rzbguf 打开设置重新映射的类缓存

我刚刚下载了 Flutter 并尝试使用 Google 提供的第一个默认代码来学习模拟器。但它根本不运行!

我安装了 dart 和 flutter 插件。我也改变了 jcenter() 和 google() 的顺序

像这样:

buildscript {
    ext.kotlin_version = '1.3.50'
    repositories {
        jcenter()
        google()
    }

   
dependencies {
        classpath 'com.android.tools.build:gradle:3.5.0'

        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
    }
}

allprojects {
    repositories {
        jcenter()
        google()

    }
}
Run Code Online (Sandbox Code Playgroud)

错误是:

Launching lib/main.dart on Android SDK built for x86 in debug mode...
Running Gradle task 'assembleDebug'...

FAILURE: Build failed with an exception.

* What went wrong:
Could not open settings remapped class cache for 7yvt6la2007dno98lt3rzbguf (/Users/[myname]/.gradle/caches/5.6.2/scripts-remapped/settings_7iv4l88jiyzeatj2wku74hwcv/7yvt6la2007dno98lt3rzbguf/settings8410a2d21ed2f87c8a0398566330ee52).
> Could not …
Run Code Online (Sandbox Code Playgroud)

android gradle flutter

10
推荐指数
4
解决办法
2万
查看次数

@gradlew +匕首生成注释

我正在使用gradlew(4.10.2)+ dagger(2.18)遇到一个奇怪的问题。

问题是当我打电话时:

./gradlew :app:compileDebugAndroidTestKotlin 
Run Code Online (Sandbox Code Playgroud)

构建失败并显示:

任务:Common:compileDebugJavaWithJavac FAILED

/CommonModule_ProvidesGsonFactory.java:6:错误:包javax.annotation.processing不存在,请导入javax.annotation.processing。产生 ;

/CommonModule_ProvidesGsonFactory.java:8:错误:找不到符号@ 生成的

但是,如果我从Android Studio运行任务,则该任务成功,并且在匕首生成的类中@Generated 存在。

您是否有一些避免使用@Generated注释的线索./gradlew

java gradle kotlin dagger gradlew

9
推荐指数
3
解决办法
1238
查看次数