jlink不创建运行时图像

发布于 2025-02-13 16:54:16 字数 21146 浏览 0 评论 0 原文

我正在尝试使用 MVN CLEAN JAVAFX:JLINK ,但我会遇到错误。首先,我注意到错误:Module JDK.jSobject找不到,但是当使用 mvn -x清洁javafx:jlink 我看到了 jlink.exe Android Studio \ jre \ bin \ jlink.exe 正在使用。

这可能是问题吗?但是我不知道该如何解决。请帮忙。

根据说明使用Maven: https://openjfx.io/openjfx.io/openjfx-docs/#ide-eclipse-

创建运行时间 使用说明的图像: https://openjfx.io/openjfx-docs/pom.xml

/strong>

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>ru</groupId>
    <artifactId>iptvportal</artifactId>
    <version>0.0.1</version>
    <packaging>jar</packaging>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <javafx.version>18.0.1</javafx.version>
        <vlcj.version>4.7.1</vlcj.version>
        <vlcj-javafx.version>1.0.2</vlcj-javafx.version>
        <maven-compiler.version>3.8.1</maven-compiler.version>
        <maven-compiler.release>11</maven-compiler.release>
        <javafx-maven-plugin.version>0.0.8</javafx-maven-plugin.version>
    </properties> 
    
    <organization>
        <name>IPTVPORTAL</name>
    </organization>
    
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>uk.co.caprica</groupId>
            <artifactId>vlcj</artifactId>
            <version>${vlcj.version}</version>
        </dependency>
        <dependency>
            <groupId>uk.co.caprica</groupId>
            <artifactId>vlcj-javafx</artifactId>
            <version>${vlcj-javafx.version}</version>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler.version}</version>
                <configuration>
                    <release>${maven-compiler.release}</release>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>${javafx-maven-plugin.version}</version>
                <configuration>
                    <!--<executable>C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/java</executable>-->
                    <stripDebug>true</stripDebug>
                    <compress>2</compress>
                    <noHeaderFiles>true</noHeaderFiles>
                    <noManPages>true</noManPages>
                    <launcher>iptvportal_launcher</launcher>
                    <jlinkImageName>iptvportal_image</jlinkImageName>
                    <jlinkZipName>iptvportal_zip</jlinkZipName>
                    <mainClass>ru.iptvportal.App</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

Module -info.java

module iptvportal {
    exports ru.iptvportal;

    requires javafx.base;
    requires javafx.controls;
    requires javafx.graphics;
    requires javafx.web;
    requires jdk.jsobject;
    requires uk.co.caprica.vlcj;
    requires uk.co.caprica.vlcj.javafx;
}

mvn -x清除 with logs.txt

javafx:jlink logs:

[DEBUG] Executing command line: [E:\Programming\Android Studio\jre\bin\jlink.exe, --module-path, E:\Programming\Eclipse\workspace\iptvportal\target\classes;C:\Users\User\.m2\repository\org\openjfx\javafx-base\18.0.1\javafx-base-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-controls\18.0.1\javafx-controls-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-graphics\18.0.1\javafx-graphics-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-media\18.0.1\javafx-media-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-web\18.0.1\javafx-web-18.0.1-win.jar;C:\Users\User\.m2\repository\uk\co\caprica\vlcj\4.7.1\vlcj-4.7.1.jar;C:\Users\User\.m2\repository\uk\co\caprica\vlcj-javafx\1.0.2\vlcj-javafx-1.0.2.jar, --add-modules, iptvportal, --output, E:\Programming\Eclipse\workspace\iptvportal\target\iptvportal_image, --strip-debug, --compress, 2, --no-header-files, --no-man-pages, --launcher, iptvportal_launcher=iptvportal/ru.iptvportal.App]
Error: Module jdk.jsobject not found, required by iptvportal
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:567)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:434)
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:209)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.505 s
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:567)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:434)
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:209)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[INFO] Finished at: 2022-07-07T00:31:34+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.openjfx:javafx-maven-plugin:0.0.8:jlink (default-cli) on project iptvportal: Error: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.openjfx:javafx-maven-plugin:0.0.8:jlink (default-cli) on project iptvportal: Error
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:241)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    ... 20 more
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:235)
    ... 22 more
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:567)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:434)
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:209)
    ... 22 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Strong>与Java_home和Jlink的可疑位置:

[DEBUG] properties used {env.NUMBER_OF_PROCESSORS=4, env.USERPROFILE=C:\Users\User, java.specification.version=17, sun.cpu.isalist=amd64, sun.arch.data.model=64, env.PROGRAMW6432=C:\Program Files, java.vendor.url=https://adoptium.net/, env.OS=Windows_NT, sun.boot.library.path=C:\Users\User\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre\bin, sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher -B -X clean javafx:jlink, env.SYSTEMROOT=C:\Windows, jdk.debug=release, maven.version=3.8.4, java.specification.vendor=Oracle Corporation, java.version.date=2022-04-19, java.home=C:\Users\User\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre, java.vm.specification.vendor=Oracle Corporation, java.specification.name=Java Platform API Specification, env.LOCALAPPDATA=C:\Users\User\AppData\Local, env.USERDOMAIN_ROAMINGPROFILE=WIN-FVCCMCJ89IQ, user.script=, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.runtime.version=17.0.3+7, env.WEBOS_CLI_TV=C:\Software\webOS_TV_SDK\CLI\bin, env.PATH=C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/server;C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Software\Sdk\platform-tools;C:\Software\Sdk\tools;C:\Software\VirtualBox;C:\Software\VirtualBox_6.1.32;C:\software\nodejs\;C:\Software\tizen-studio\tools\ide\bin;C:\Program Files\Bandizip\;C:\Software\Mercurial;E:\Programming\Microsoft VS Code\bin;C:\Software\CMake\bin;C:\Users\User\AppData\Roaming\npm;C:\Users\User\Desktop;, env.PUBLIC=C:\Users\Public, env.COMMONPROGRAMW6432=C:\Program Files\Common Files, file.encoding=UTF-8, java.vendor.version=Temurin-17.0.3+7, env.COMPUTERNAME=WIN-FVCCMCJ89IQ, env.HOMEPATH=\Users\User, env.APPDATA=C:\Users\User\AppData\Roaming, java.io.tmpdir=C:\Users\User\AppData\Local\Temp\, java.version=17.0.3, maven-compiler.release=11, java.vm.specification.name=Java Virtual Machine Specification, native.encoding=Cp1251, java.library.path=C:\Users\User\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/server;C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Software\Sdk\platform-tools;C:\Software\Sdk\tools;C:\Software\VirtualBox;C:\Software\VirtualBox_6.1.32;C:\software\nodejs\;C:\Software\tizen-studio\tools\ide\bin;C:\Program Files\Bandizip\;C:\Software\Mercurial;E:\Programming\Microsoft VS Code\bin;C:\Software\CMake\bin;C:\Users\User\AppData\Roaming\npm;C:\Users\User\Desktop;;., java.vendor=Eclipse Adoptium, classworlds.conf=E:\Programming\Eclipse\workspace\.metadata\.plugins\org.eclipse.m2e.launching\launches\m2conf6299535031719406823.tmp, sun.io.unicode.encoding=UnicodeLittle, java.vm.specification.version=17, os.name=Windows 7, env.=::=::\, maven.compiler.source=11, user.home=C:\Users\User, env.ALLUSERSPROFILE=C:\ProgramData, env.SESSIONNAME=Console, path.separator=;, os.version=6.1, env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, java.vm.name=OpenJDK 64-Bit Server VM, env.WINDOWS_TRACING_LOGFILE=C:\BVTBin\Tests\installpackage\csilogfile.log, env.USERNAME=User, os.arch=amd64, maven.multiModuleProjectDirectory=E:\Programming\Eclipse\workspace\iptvportal, java.vm.info=mixed mode, env.TEMP=C:\Users\User\AppData\Local\Temp, java.class.version=61.0, vlcj.version=4.7.1, sun.jnu.encoding=Cp1251, vlcj-javafx.version=1.0.2, maven.build.version=Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537), maven.home=E:\Programming\Eclipse\workspace\iptvportal\EMBEDDED, env.JAVA_HOME="E:\Programming\Android Studio\jre", env.PROGRAMFILES=C:\Program Files, file.separator=\, java.vm.compressedOopsMode=32-bit, line.separator=
, env.PROCESSOR_REVISION=4501, env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 69 Stepping 1, GenuineIntel, env.PROGRAMDATA=C:\ProgramData, user.name=User, maven-compiler.version=3.8.1, env.SYSTEMDRIVE=C:, env.VBOX_MSI_INSTALL_PATH=C:\Software\VirtualBox_6.1.32\, env.PROGRAMFILES(X86)=C:\Program Files (x86), env.PROCESSOR_LEVEL=6, env.HOMEDRIVE=C:, env.PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\, env.TMP=C:\Users\User\AppData\Local\Temp, sun.os.patch.level=Service Pack 1, maven.compiler.target=11, env.LOGONSERVER=\\WIN-FVCCMCJ89IQ, env.WINDOWS_TRACING_FLAGS=3, env.LG_WEBOS_TV_SDK_HOME=C:\Software\webOS_TV_SDK, env.WINDIR=C:\Windows, env.MOZ_PLUGIN_PATH=C:\Software\Foxit Software\Foxit PDF Reader\plugins\, env.FP_NO_HOST_CHECK=NO, java.class.path=C:\Users\User\.p2\pool\plugins\org.eclipse.m2e.maven.runtime_1.18.3.20220227-1319\jars\plexus-classworlds-2.6.0.jar, java.vm.vendor=Eclipse Adoptium, env.PROCESSOR_ARCHITECTURE=AMD64, user.variant=, env.COMMONPROGRAMFILES=C:\Program Files\Common Files, javafx.version=18.0.1, sun.java.launcher=SUN_STANDARD, user.country=RU, env.USERDOMAIN=WIN-FVCCMCJ89IQ, env.COMSPEC=C:\Windows\system32\cmd.exe, sun.cpu.endian=little, user.language=ru, javafx-maven-plugin.version=0.0.8, java.runtime.name=OpenJDK Runtime Environment, project.build.sourceEncoding=UTF-8, env.COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files, java.vendor.url.bug=https://github.com/adoptium/adoptium-support/issues, user.dir=E:\Programming\Eclipse\workspace\iptvportal, java.vm.version=17.0.3+7}
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[DEBUG] resource with targetPath null
...
[DEBUG] Executable [E:\Programming\Android Studio\jre\bin\jlink.exe]

I'm trying to use mvn clean javafx:jlink but I get an error. At first I noticed Error: Module jdk.jsobject not found but when using mvn -X clean javafx:jlink I saw that jlink.exe from Android Studio\jre\bin\jlink.exe was being used.

Could this be the problem? But I don't know how to fix it. Please help.

Create a project according to the instructions JavaFX and Eclipse modular with Maven : https://openjfx.io/openjfx-docs/#IDE-Eclipse: https://openjfx.io/openjfx-docs/#IDE-Eclipse

For creating runtime image using the instructions: https://openjfx.io/openjfx-docs/#modular

pom.xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>ru</groupId>
    <artifactId>iptvportal</artifactId>
    <version>0.0.1</version>
    <packaging>jar</packaging>
    
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <maven.compiler.source>11</maven.compiler.source>
        <maven.compiler.target>11</maven.compiler.target>
        <javafx.version>18.0.1</javafx.version>
        <vlcj.version>4.7.1</vlcj.version>
        <vlcj-javafx.version>1.0.2</vlcj-javafx.version>
        <maven-compiler.version>3.8.1</maven-compiler.version>
        <maven-compiler.release>11</maven-compiler.release>
        <javafx-maven-plugin.version>0.0.8</javafx-maven-plugin.version>
    </properties> 
    
    <organization>
        <name>IPTVPORTAL</name>
    </organization>
    
    <dependencies>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-controls</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-web</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>org.openjfx</groupId>
            <artifactId>javafx-graphics</artifactId>
            <version>${javafx.version}</version>
        </dependency>
        <dependency>
            <groupId>uk.co.caprica</groupId>
            <artifactId>vlcj</artifactId>
            <version>${vlcj.version}</version>
        </dependency>
        <dependency>
            <groupId>uk.co.caprica</groupId>
            <artifactId>vlcj-javafx</artifactId>
            <version>${vlcj-javafx.version}</version>
        </dependency>
    </dependencies>
    
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler.version}</version>
                <configuration>
                    <release>${maven-compiler.release}</release>
                </configuration>
            </plugin>
            
            <plugin>
                <groupId>org.openjfx</groupId>
                <artifactId>javafx-maven-plugin</artifactId>
                <version>${javafx-maven-plugin.version}</version>
                <configuration>
                    <!--<executable>C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/java</executable>-->
                    <stripDebug>true</stripDebug>
                    <compress>2</compress>
                    <noHeaderFiles>true</noHeaderFiles>
                    <noManPages>true</noManPages>
                    <launcher>iptvportal_launcher</launcher>
                    <jlinkImageName>iptvportal_image</jlinkImageName>
                    <jlinkZipName>iptvportal_zip</jlinkZipName>
                    <mainClass>ru.iptvportal.App</mainClass>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

module-info.java

module iptvportal {
    exports ru.iptvportal;

    requires javafx.base;
    requires javafx.controls;
    requires javafx.graphics;
    requires javafx.web;
    requires jdk.jsobject;
    requires uk.co.caprica.vlcj;
    requires uk.co.caprica.vlcj.javafx;
}

mvn -X clear javafx:jlink logs: dropfiles with logs.txt

Error:

[DEBUG] Executing command line: [E:\Programming\Android Studio\jre\bin\jlink.exe, --module-path, E:\Programming\Eclipse\workspace\iptvportal\target\classes;C:\Users\User\.m2\repository\org\openjfx\javafx-base\18.0.1\javafx-base-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-controls\18.0.1\javafx-controls-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-graphics\18.0.1\javafx-graphics-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-media\18.0.1\javafx-media-18.0.1-win.jar;C:\Users\User\.m2\repository\org\openjfx\javafx-web\18.0.1\javafx-web-18.0.1-win.jar;C:\Users\User\.m2\repository\uk\co\caprica\vlcj\4.7.1\vlcj-4.7.1.jar;C:\Users\User\.m2\repository\uk\co\caprica\vlcj-javafx\1.0.2\vlcj-javafx-1.0.2.jar, --add-modules, iptvportal, --output, E:\Programming\Eclipse\workspace\iptvportal\target\iptvportal_image, --strip-debug, --compress, 2, --no-header-files, --no-man-pages, --launcher, iptvportal_launcher=iptvportal/ru.iptvportal.App]
Error: Module jdk.jsobject not found, required by iptvportal
[ERROR] Command execution failed.
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:567)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:434)
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:209)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  4.505 s
org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:567)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:434)
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:209)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
[INFO] Finished at: 2022-07-07T00:31:34+03:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.openjfx:javafx-maven-plugin:0.0.8:jlink (default-cli) on project iptvportal: Error: Command execution failed. Process exited with an error: 1 (Exit value: 1) -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.openjfx:javafx-maven-plugin:0.0.8:jlink (default-cli) on project iptvportal: Error
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:156)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:148)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:305)
    at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute(MavenCli.java:972)
    at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main(MavenCli.java:196)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
Caused by: org.apache.maven.plugin.MojoExecutionException: Error
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:241)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:210)
    ... 20 more
Caused by: org.apache.maven.plugin.MojoExecutionException: Command execution failed.
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:235)
    ... 22 more
Caused by: org.apache.commons.exec.ExecuteException: Process exited with an error: 1 (Exit value: 1)
    at org.apache.commons.exec.DefaultExecutor.executeInternal(DefaultExecutor.java:404)
    at org.apache.commons.exec.DefaultExecutor.execute(DefaultExecutor.java:166)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:567)
    at org.openjfx.JavaFXBaseMojo.executeCommandLine(JavaFXBaseMojo.java:434)
    at org.openjfx.JavaFXJLinkMojo.execute(JavaFXJLinkMojo.java:209)
    ... 22 more
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException

Suspicious place with JAVA_HOME and jlink:

[DEBUG] properties used {env.NUMBER_OF_PROCESSORS=4, env.USERPROFILE=C:\Users\User, java.specification.version=17, sun.cpu.isalist=amd64, sun.arch.data.model=64, env.PROGRAMW6432=C:\Program Files, java.vendor.url=https://adoptium.net/, env.OS=Windows_NT, sun.boot.library.path=C:\Users\User\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre\bin, sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher -B -X clean javafx:jlink, env.SYSTEMROOT=C:\Windows, jdk.debug=release, maven.version=3.8.4, java.specification.vendor=Oracle Corporation, java.version.date=2022-04-19, java.home=C:\Users\User\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre, java.vm.specification.vendor=Oracle Corporation, java.specification.name=Java Platform API Specification, env.LOCALAPPDATA=C:\Users\User\AppData\Local, env.USERDOMAIN_ROAMINGPROFILE=WIN-FVCCMCJ89IQ, user.script=, sun.management.compiler=HotSpot 64-Bit Tiered Compilers, java.runtime.version=17.0.3+7, env.WEBOS_CLI_TV=C:\Software\webOS_TV_SDK\CLI\bin, env.PATH=C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/server;C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Software\Sdk\platform-tools;C:\Software\Sdk\tools;C:\Software\VirtualBox;C:\Software\VirtualBox_6.1.32;C:\software\nodejs\;C:\Software\tizen-studio\tools\ide\bin;C:\Program Files\Bandizip\;C:\Software\Mercurial;E:\Programming\Microsoft VS Code\bin;C:\Software\CMake\bin;C:\Users\User\AppData\Roaming\npm;C:\Users\User\Desktop;, env.PUBLIC=C:\Users\Public, env.COMMONPROGRAMW6432=C:\Program Files\Common Files, file.encoding=UTF-8, java.vendor.version=Temurin-17.0.3+7, env.COMPUTERNAME=WIN-FVCCMCJ89IQ, env.HOMEPATH=\Users\User, env.APPDATA=C:\Users\User\AppData\Roaming, java.io.tmpdir=C:\Users\User\AppData\Local\Temp\, java.version=17.0.3, maven-compiler.release=11, java.vm.specification.name=Java Virtual Machine Specification, native.encoding=Cp1251, java.library.path=C:\Users\User\.p2\pool\plugins\org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416\jre\bin;C:\Windows\Sun\Java\bin;C:\Windows\system32;C:\Windows;C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin/server;C:/Users/User/.p2/pool/plugins/org.eclipse.justj.openjdk.hotspot.jre.full.win32.x86_64_17.0.3.v20220515-1416/jre/bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Git\cmd;C:\Software\Sdk\platform-tools;C:\Software\Sdk\tools;C:\Software\VirtualBox;C:\Software\VirtualBox_6.1.32;C:\software\nodejs\;C:\Software\tizen-studio\tools\ide\bin;C:\Program Files\Bandizip\;C:\Software\Mercurial;E:\Programming\Microsoft VS Code\bin;C:\Software\CMake\bin;C:\Users\User\AppData\Roaming\npm;C:\Users\User\Desktop;;., java.vendor=Eclipse Adoptium, classworlds.conf=E:\Programming\Eclipse\workspace\.metadata\.plugins\org.eclipse.m2e.launching\launches\m2conf6299535031719406823.tmp, sun.io.unicode.encoding=UnicodeLittle, java.vm.specification.version=17, os.name=Windows 7, env.=::=::\, maven.compiler.source=11, user.home=C:\Users\User, env.ALLUSERSPROFILE=C:\ProgramData, env.SESSIONNAME=Console, path.separator=;, os.version=6.1, env.PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC, java.vm.name=OpenJDK 64-Bit Server VM, env.WINDOWS_TRACING_LOGFILE=C:\BVTBin\Tests\installpackage\csilogfile.log, env.USERNAME=User, os.arch=amd64, maven.multiModuleProjectDirectory=E:\Programming\Eclipse\workspace\iptvportal, java.vm.info=mixed mode, env.TEMP=C:\Users\User\AppData\Local\Temp, java.class.version=61.0, vlcj.version=4.7.1, sun.jnu.encoding=Cp1251, vlcj-javafx.version=1.0.2, maven.build.version=Apache Maven 3.8.4 (9b656c72d54e5bacbed989b64718c159fe39b537), maven.home=E:\Programming\Eclipse\workspace\iptvportal\EMBEDDED, env.JAVA_HOME="E:\Programming\Android Studio\jre", env.PROGRAMFILES=C:\Program Files, file.separator=\, java.vm.compressedOopsMode=32-bit, line.separator=
, env.PROCESSOR_REVISION=4501, env.PROCESSOR_IDENTIFIER=Intel64 Family 6 Model 69 Stepping 1, GenuineIntel, env.PROGRAMDATA=C:\ProgramData, user.name=User, maven-compiler.version=3.8.1, env.SYSTEMDRIVE=C:, env.VBOX_MSI_INSTALL_PATH=C:\Software\VirtualBox_6.1.32\, env.PROGRAMFILES(X86)=C:\Program Files (x86), env.PROCESSOR_LEVEL=6, env.HOMEDRIVE=C:, env.PSMODULEPATH=C:\Windows\system32\WindowsPowerShell\v1.0\Modules\, env.TMP=C:\Users\User\AppData\Local\Temp, sun.os.patch.level=Service Pack 1, maven.compiler.target=11, env.LOGONSERVER=\\WIN-FVCCMCJ89IQ, env.WINDOWS_TRACING_FLAGS=3, env.LG_WEBOS_TV_SDK_HOME=C:\Software\webOS_TV_SDK, env.WINDIR=C:\Windows, env.MOZ_PLUGIN_PATH=C:\Software\Foxit Software\Foxit PDF Reader\plugins\, env.FP_NO_HOST_CHECK=NO, java.class.path=C:\Users\User\.p2\pool\plugins\org.eclipse.m2e.maven.runtime_1.18.3.20220227-1319\jars\plexus-classworlds-2.6.0.jar, java.vm.vendor=Eclipse Adoptium, env.PROCESSOR_ARCHITECTURE=AMD64, user.variant=, env.COMMONPROGRAMFILES=C:\Program Files\Common Files, javafx.version=18.0.1, sun.java.launcher=SUN_STANDARD, user.country=RU, env.USERDOMAIN=WIN-FVCCMCJ89IQ, env.COMSPEC=C:\Windows\system32\cmd.exe, sun.cpu.endian=little, user.language=ru, javafx-maven-plugin.version=0.0.8, java.runtime.name=OpenJDK Runtime Environment, project.build.sourceEncoding=UTF-8, env.COMMONPROGRAMFILES(X86)=C:\Program Files (x86)\Common Files, java.vendor.url.bug=https://github.com/adoptium/adoptium-support/issues, user.dir=E:\Programming\Eclipse\workspace\iptvportal, java.vm.version=17.0.3+7}
[INFO] Using 'UTF-8' encoding to copy filtered resources.
[DEBUG] resource with targetPath null
...
[DEBUG] Executable [E:\Programming\Android Studio\jre\bin\jlink.exe]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文