Почему качество графического интерфейса ухудшилось вдвое после создания exe-файла с помощью jpackage?

Сравнение:введите описание изображения здесь

Я использую jpackage для преобразования файла jar в exe, при этом exe файл предоставляется внутренней JRE. В результате конвертации получились хорошие результаты, JRE весит около 38,5 мб.

Когда я запускаю exe, качество графического интерфейса в два раза ХУЖЕ, чем в обычном банке! Кроме того, окно нового exe-файла увеличивается само по себе. Таким образом, появляются очень странные изменения, как будто exe-файл пытается имитировать оконный jar-файл. Я хочу отметить, что я использую libGdx для графического интерфейса.

рабочий стол градиент:

      {
plugins { id 'org.beryx.runtime' version '1.8.4' }
sourceCompatibility = 1.8
sourceSets.main.java.srcDirs = ["src/"]
sourceSets.main.resources.srcDirs = ["../android/assets"]

mainClassName = "com.iapp.chess.desktop.DesktopLauncher"
def osName = System.getProperty('os.name').toLowerCase(Locale.ROOT)
project.ext.assetsDir = new File("../android/assets")

task runGame(dependsOn: classes, type: JavaExec) {
    main = project.mainClassName
    classpath = sourceSets.main.runtimeClasspath
    standardInput = System.in
    workingDir = project.assetsDir
    ignoreExitValue = true
}

task debug(dependsOn: classes, type: JavaExec) {
    main = project.mainClassName
    classpath = sourceSets.main.runtimeClasspath
    standardInput = System.in
    workingDir = project.assetsDir
    ignoreExitValue = true
    debug = true
}

task dist(type: Jar) {
    manifest {
        attributes 'Main-Class': project.mainClassName
    }
    dependsOn configurations.runtimeClasspath
    from {
        configurations.runtimeClasspath.collect { it.isDirectory() ? it : zipTree(it) }
    }
    with jar
    destinationDirectory = file("$buildDir/lib")
}
jpackageImage.dependsOn dist


dist.dependsOn classes

eclipse.project.name = appName + "-desktop"

runtime {
    options = ['--strip-debug',
               '--compress', '2',
               '--no-header-files',
               '--no-man-pages',
               '--strip-native-commands',
               '--vm', 'server']
    modules = ['java.base',
               'java.desktop',
               'jdk.unsupported']
    distDir = file(buildDir)

    jpackage {
        jpackageHome = 'C:\\Program Files\\Java\\jdk-17.0.2'
        mainJar = dist.archiveFileName.get()
        if (osName.contains('windows')) {
            imageOptions = ["--icon", file("../icons/icon.ico")]
        } else if (osName.contains('linux')) {
            imageOptions = ["--icon", file("../icons/icon.png")]
        } else if (osName.contains('mac')) {
            imageOptions = ["--icon", file("../icons/icon.icns")]
        }
    }
}

}

0 ответов

Другие вопросы по тегам