【问题标题】:How do I alter jdk in my Gluon Mobile project?如何在我的 Gluon Mobile 项目中更改 jdk?
【发布时间】:2019-02-09 09:00:33
【问题描述】:

我尝试在我的.gradle 文件夹中的grade.properties 文件中设置jdk,如下所示:org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/bin/java

但是项目还在使用jdk 8

我在 Mac 上使用 Eclipse,我还尝试在 Eclipse > Preferences > Java > Installed JREs 中将 jdk 9 设置为默认值。

如何更改 Gluon 项目使用的 jdk 版本?

这是我的 build.gradle:

buildscript {
    repositories {
        jcenter()
        google()
        maven {
            url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
        }
    }
    dependencies {
        classpath 'org.javafxports:jfxmobile-plugin:2.0.28'
    }
}

apply plugin: 'org.javafxports.jfxmobile'

repositories {
    jcenter()
    maven {
        url 'http://nexus.gluonhq.com/nexus/content/repositories/releases'
    }
}

mainClassName = 'com.directions.Direction'

sourceCompatibility = 1.8
targetCompatibility = 1.8

dependencies {
    println JavaVersion.current(); 
    if (JavaVersion.current() == JavaVersion.VERSION_1_9) {
        compile 'com.gluonhq:charm:5.0.0-jdk9'
        androidRuntime 'com.gluonhq:charm:5.0.0'
    } else {
        compile 'com.gluonhq:charm:5.0.0'
    }
    compile 'com.fasterxml.jackson.core:jackson-core:2.7.3'
    compile 'com.fasterxml.jackson.core:jackson-annotations:2.7.3'
    compile 'com.fasterxml.jackson.core:jackson-databind:2.7.3'
    compile 'com.gluonhq:charm:5.0.0'
    compile 'com.google.api-client:google-api-client:1.23.0'
}

jfxmobile {
    downConfig {
        version = '3.8.0'
        // Do not edit the line below. Use Gluon Mobile Settings in your project context menu instead
        plugins 'compass', 'display', 'lifecycle', 'magnetometer', 'position', 'settings', 'statusbar', 'storage'
    }
    android {
        manifest = 'src/android/AndroidManifest.xml'
        androidSdk = '/Users/hemma/Library/Android/sdk'
        packagingOptions{
                exclude 'META-INF/LICENSE'
                exclude 'META-INF/LICENSE.txt'
                exclude 'META-INF/NOTICE'
            exclude 'META-INF/NOTICE.txt'
        }
    }
    ios {
        infoPList = file('src/ios/Default-Info.plist')
        forceLinkClasses = [
                'com.gluonhq.**.*',
                'javax.annotations.**.*',
                'javax.inject.**.*',
                'javax.json.**.*',
                'org.glassfish.json.**.*'
        ]
    }
}

我的gradle.properties 看起来像这样:

{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Menlo-Regular;\f2\fnil\fcharset0 Monaco;
}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red255\green0\blue0;
}
{\*\expandedcolortbl;;\csgray\c0;\csgray\c100000;\csgenericrgb\c100000\c0\c0;
}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0

\f0\fs24 \cf0 ANDROID_HOME=/Users/
\f1\fs22 \cf2 \cb3 \CocoaLigature0 hemma/Library/Android/sdk\
\pard\pardeftab720\partightenfactor0

\f2 \cf4 \cb1 \CocoaLigature1 org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
\f1 \cf2 \cb3 \CocoaLigature0 \
}

从终端运行项目的./gradlew run 命令时,我得到构建失败,出现异常Process 'command '/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1。我将org.gradle.java.home 设置为jdk 9jdk 10 都没有关系。我猜grade.properties 不应该像我的那样?


即使我在 Eclipse 的 java 构建路径设置中删除了 jdk 8。新创建的 gluon vm 项目中添加了 java 8 jre 系统库。

gradle.properties 文件包含以下内容:

{\rtf1\ansi\ansicpg1252\cocoartf1561\cocoasubrtf200
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fnil\fcharset0 Menlo-Regular;\f2\fnil\fcharset0 Monaco;
}
{\colortbl;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red255\green0\blue0;
}
{\*\expandedcolortbl;;\csgray\c0;\csgray\c100000;\csgenericrgb\c100000\c0\c0;
}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\pard\tx566\tx1133\tx1700\tx2267\tx2834\tx3401\tx3968\tx4535\tx5102\tx5669\tx6236\tx6803\pardirnatural\partightenfactor0

\f0\fs24 \cf0 ANDROID_HOME=/Users/
\f1\fs22 \cf2 \cb3 \CocoaLigature0 hemma/Library/Android/sdk\
\pard\pardeftab720\partightenfactor0

\f2 \cf4 \cb1 \CocoaLigature1 org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
\f1 \cf2 \cb3 \CocoaLigature0 \
}

Gluon 插件版本为 2.6.0.v20180424-0818,用于 Eclipse 氧气

【问题讨论】:

  • 你的jfxmobile版本是什么,你的目标平台是什么?发布您的 build.gradle?
  • 1.8 在任何平台上运行时都会打印出来。在 iOS 上,我收到一条消息说 Gluon VM 需要 java 9 或更高版本。在 Android 上,我没有安装 Android 支持存储库(已安装)。我可以在桌面上运行它。我的目标是 iOS 和 Android
  • 如果我在我的~/.gradle/gradle.properties 文件中设置org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home,运行./gradlew run 会给我1.10。您的设置一定有问题。

标签: java eclipse macos gradle gluon-mobile


【解决方案1】:

org.gradle.java.home 必须指向一个目录。试试看:

org.gradle.java.home=/Library/Java/JavaVirtualMachines/jdk-9.0.4.jdk/Contents/Home/

【讨论】:

  • 没有帮助
  • jdk 8 仍被项目使用:用于构建正确的?
【解决方案2】:

我必须编辑指向 jdk8 到 jdk10 bin 文件夹的 eclipse.ini 文件。这让我可以使用 jdk 10 运行。但是 gluon vm 项目正在崩溃。这是因为它在 build.gradle 中编译了 com.gluonhq:charm:5.0.0。所以我必须包含 jdk 10 检查,以便依赖项如下所示

dependencies {
    println JavaVersion.current();
    if (JavaVersion.current() == JavaVersion.VERSION_1_9 || JavaVersion.current() == JavaVersion.VERSION_1_10) {
        compile 'com.gluonhq:charm:5.0.0-jdk9'
        androidRuntime 'com.gluonhq:charm:5.0.0'
    } else {
        compile 'com.gluonhq:charm:5.0.0'
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2012-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多