Java Swing教程-19. Swing应用的打包与发布

Java Swing教程-19. Swing应用的打包与发布

完成Swing应用开发后,需要将其打包为可分发的形式,以便用户安装和运行。本教程将详细介绍如何将Swing应用打包为JAR文件、使用Java Web Start发布,以及部署到服务器的相关知识。

一、打包成可执行JAR文件

1. JAR文件概述

  • **JAR(Java Archive)**是一种压缩格式,用于封装Java类文件、资源文件和元数据。
  • 可执行JAR文件包含Manifest文件,指定程序的入口类(Main-Class)。

2. 使用命令行打包(手动方式)

(1)项目结构
myapp/
├─ src/
│  └─ com/
│     └─ example/
│        └─ Main.java
├─ lib/          # 第三方依赖库
└─ resources/    # 资源文件(如图片、配置文件)
(2)编译源代码
javac -d bin src/com/example/Mai
[root@yfw ~]# cd /opt/openfire/enterprise/Spark-master [root@yfw Spark-master]# cd /opt/openfire/enterprise/Spark-master/spark-client/distribution [root@yfw distribution]# java -cp "lib/*:resources" org.jivesoftware.Spark 错误: 在类 org.jivesoftware.Spark 中找不到 main 方法, 请将 main 方法定义为: public static void main(String[] args) 否则 JavaFX 应用程序类必须扩展javafx.application.Application [root@yfw distribution]# java -cp "lib/*:resources" org.jivesoftware.launcher.Startup Warning: no working directory set. This might cause updated data to be missed. Please set a system property 'appdir' to the location where Spark is installed to correct this. java.lang.reflect.InvocationTargetException at java.awt.EventQueue.invokeAndWait(EventQueue.java:1349) at java.awt.EventQueue.invokeAndWait(EventQueue.java:1324) at org.jivesoftware.Spark.startup(Spark.java:186) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.jivesoftware.launcher.Startup.start(Startup.java:75) at org.jivesoftware.launcher.Startup.main(Startup.java:31) Caused by: java.awt.HeadlessException: No X11 DISPLAY variable was set, but this program performed an operation which requires it. at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:204) at java.awt.Window.<init>(Window.java:536) at java.awt.Frame.<init>(Frame.java:420) at java.awt.Frame.<init>(Frame.java:385) at javax.swing.JFrame.<init>(JFrame.java:189) at org.jivesoftware.Spark.lambda$startup$0(Spark.java:188) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758) at java.awt.EventQueue.access$500(EventQueue.java:97) at java.awt.EventQueue$3.run(EventQueue.java:709) at java.awt.EventQueue$3.run(EventQueue.java:703) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74) at java.awt.EventQueue.dispatchEvent(EventQueue.java:728) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93) at java.awt.EventDispatchThread.run(EventDispatchThread.java:82) [root@yfw distribution]# cd /opt/openfire/enterprise/Spark-master [root@yfw Spark-master]# zip -r spark-client.zip spark-client/distribution/ adding: spark-client/distribution/ (stored 0%) adding: spark-client/distribution/resources/ (stored 0%) adding: spark-client/distribution/resources/sounds/ (stored 0%) adding: spark-client/distribution/resources/sounds/presence_changed.wav (deflated 39%) adding: spark-client/distribution/resources/sounds/incoming.wav (deflated 31%) adding: spark-client/distribution/resources/sounds/outgoing.wav (deflated 31%) adding: spark-client/distribution/resources/sounds/bell.wav (deflated 13%) adding: spark-client/distribution/resources/sounds/chat_request.wav (deflated 11%) adding: spark-client/distribution/resources/systeminfo.dll (deflated 66%) adding: spark-client/distribution/resources/Info.plist (deflated 64%) adding: spark-client/distribution/resources/jniwrap.lic (deflated 19%) adding: spark-client/distribution/resources/startup.bat (deflated 57%) adding: spark-client/distribution/resources/jniwrap.dll (deflated 79%) adding: spark-client/distribution/resources/startup.sh (deflated 51%) adding: spark-client/distribution/plugins/ (stored 0%) adding: spark-client/distribution/plugins/growl.jar (deflated 0%) adding: spark-client/distribution/plugins/fileupload.jar (deflated 0%) adding: spark-client/distribution/plugins/roar.jar (deflated 0%) adding: spark-client/distribution/plugins/meet.jar (deflated 0%) adding: spark-client/distribution/plugins/tictactoe.jar (deflated 0%) adding: spark-client/distribution/plugins/fastpath.jar (deflated 0%) adding: spark-client/distribution/plugins/transferguard.jar (deflated 1%) adding: spark-client/distribution/plugins/translator.jar (deflated 0%) adding: spark-client/distribution/plugins/flashing.jar (deflated 2%) adding: spark-client/distribution/plugins/apple.jar (deflated 0%) adding: spark-client/distribution/plugins/spelling.jar (deflated 0%) adding: spark-client/distribution/plugins/reversi.jar (deflated 0%) adding: spark-client/distribution/documentation/ (stored 0%) adding: spark-client/distribution/documentation/ide-vscode-setup.html (deflated 65%) adding: spark-client/distribution/documentation/ide-intellij-setup.html (deflated 68%) adding: spark-client/distribution/documentation/spark guide/ (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/ (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image021.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image033.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image015.png (deflated 1%) adding: spark-client/distribution/documentation/spark guide/images/image003.png (deflated 13%) adding: spark-client/distribution/documentation/spark guide/images/image027.png (deflated 0%) adding: spark-client/distribution/documentation/spark guide/images/image007.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image001.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image009.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image031.png (deflated 3%) adding: spark-client/distribution/documentation/spark guide/images/image011.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image025.png (deflated 1%) adding: spark-client/distribution/documentation/spark guide/images/image017.png (deflated 1%) adding: spark-client/distribution/documentation/spark guide/images/image029.png (deflated 6%) adding: spark-client/distribution/documentation/spark guide/images/image023.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/filelist.xml (deflated 74%) adding: spark-client/distribution/documentation/spark guide/images/image013.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image005.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/images/image019.png (stored 0%) adding: spark-client/distribution/documentation/spark guide/Spark.default.properties.guide.html (deflated 90%) adding: spark-client/distribution/documentation/spark.doap (deflated 89%) adding: spark-client/distribution/documentation/changelog.html (deflated 81%) adding: spark-client/distribution/documentation/sparkplug_compile.html (deflated 56%) adding: spark-client/distribution/documentation/images/ (stored 0%) adding: spark-client/distribution/documentation/images/IntelliJ-8.JPG (deflated 21%) adding: spark-client/distribution/documentation/images/VSCode-4.png (deflated 8%) adding: spark-client/distribution/documentation/images/VSCode-6.png (deflated 6%) adding: spark-client/distribution/documentation/images/IntelliJ-3.JPG (deflated 27%) adding: spark-client/distribution/documentation/images/VSCode-2.png (deflated 18%) adding: spark-client/distribution/documentation/images/IntelliJ-10.JPG (deflated 26%) adding: spark-client/distribution/documentation/images/login-dialog.png (deflated 0%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-1.png (deflated 4%) adding: spark-client/distribution/documentation/images/IntelliJ-6.JPG (deflated 52%) adding: spark-client/distribution/documentation/images/IntelliJ-1.JPG (deflated 43%) adding: spark-client/distribution/documentation/images/contact-list.png (deflated 9%) adding: spark-client/distribution/documentation/images/IntelliJ-9.JPG (deflated 43%) adding: spark-client/distribution/documentation/images/IntelliJ-5.JPG (deflated 26%) adding: spark-client/distribution/documentation/images/VSCode-1.png (deflated 12%) adding: spark-client/distribution/documentation/images/chat-room.png (deflated 13%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-5.png (deflated 3%) adding: spark-client/distribution/documentation/images/VSCode-5.png (deflated 16%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-6.png (deflated 5%) adding: spark-client/distribution/documentation/images/IntelliJ-2.JPG (deflated 32%) adding: spark-client/distribution/documentation/images/banner-spring.gif (deflated 14%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-2.png (deflated 6%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-3.png (deflated 4%) adding: spark-client/distribution/documentation/images/IntelliJ-7.JPG (deflated 18%) adding: spark-client/distribution/documentation/images/eclipse-maven-step-4.png (deflated 6%) adding: spark-client/distribution/documentation/images/VSCode-3.png (deflated 13%) adding: spark-client/distribution/documentation/images/banner-spark.gif (stored 0%) adding: spark-client/distribution/documentation/images/IntelliJ-4.JPG (deflated 55%) adding: spark-client/distribution/documentation/sample_plugin_repository.xml (deflated 69%) adding: spark-client/distribution/documentation/changes.xsl (deflated 59%) adding: spark-client/distribution/documentation/ide-eclipse-setup.html (deflated 67%) adding: spark-client/distribution/documentation/style.css (deflated 67%) adding: spark-client/distribution/documentation/LICENSE.html (deflated 67%) adding: spark-client/distribution/documentation/builder.jar (deflated 30%) adding: spark-client/distribution/documentation/sparkplug_dev_guide.html (deflated 75%) adding: spark-client/distribution/documentation/README.html (deflated 63%) adding: spark-client/distribution/xtra/ (stored 0%) adding: spark-client/distribution/xtra/emoticons/ (stored 0%) adding: spark-client/distribution/xtra/emoticons/sparkEmoticonSet.zip (stored 0%) adding: spark-client/distribution/xtra/emoticons/GTalk.AdiumEmoticonset.zip (stored 0%) adding: spark-client/distribution/xtra/emoticons/Default.adiumemoticonset.zip (stored 0%) adding: spark-client/distribution/xtra/emoticons/POPO.adiumemoticonset.zip (stored 0%) adding: spark-client/distribution/lib/ (stored 0%) adding: spark-client/distribution/lib/jxmpp-jid-1.0.3.jar (deflated 13%) adding: spark-client/distribution/lib/smack-debug-4.4.8.jar (deflated 16%) adding: spark-client/distribution/lib/bcpkix-jdk18on-1.78.1.jar (deflated 13%) adding: spark-client/distribution/lib/flatlaf-3.1.1.jar (deflated 5%) adding: spark-client/distribution/lib/minidns-core-1.0.5.jar (deflated 9%) adding: spark-client/distribution/lib/linux/ (stored 0%) adding: spark-client/distribution/lib/linux/libcivil.so (deflated 72%) adding: spark-client/distribution/lib/linux/libjng722.so (deflated 55%) adding: spark-client/distribution/lib/linux/libjnvpx.so (deflated 60%) adding: spark-client/distribution/lib/linux/libjnscreencapture.so (deflated 55%) adding: spark-client/distribution/lib/linux/libjnspeex.so (deflated 46%) adding: spark-client/distribution/lib/linux/libjnpulseaudio.so (deflated 72%) adding: spark-client/distribution/lib/linux/libjnvideo4linux2.so (deflated 76%) adding: spark-client/distribution/lib/linux/libjnawtrenderer.so (deflated 53%) adding: spark-client/distribution/lib/linux/libjnopus.so (deflated 45%) adding: spark-client/distribution/lib/linux/libjnffmpeg.so (deflated 68%) adding: spark-client/distribution/lib/linux/libjnportaudio.so (deflated 58%) adding: spark-client/distribution/lib/jna-platform-5.12.1.jar (deflated 15%) adding: spark-client/distribution/lib/jaxen-1.2.0.jar (deflated 12%) adding: spark-client/distribution/lib/slf4j-api-1.8.0-beta4.jar (deflated 12%) adding: spark-client/distribution/lib/bcutil-jdk18on-1.78.1.jar (deflated 15%) adding: spark-client/distribution/lib/swingx-all-1.6.5-1.jar (deflated 11%) adding: spark-client/distribution/lib/smack-xmlparser-4.4.8.jar (deflated 24%) adding: spark-client/distribution/lib/smack-legacy-4.4.8.jar (deflated 14%) adding: spark-client/distribution/lib/smack-tcp-4.4.8.jar (deflated 10%) adding: spark-client/distribution/lib/commons-lang3-3.15.0.jar (deflated 10%) adding: spark-client/distribution/lib/xstream-1.4.20.jar (deflated 12%) adding: spark-client/distribution/lib/mac/ (stored 0%) adding: spark-client/distribution/lib/mac/libjng722.jnilib (deflated 77%) adding: spark-client/distribution/lib/mac/libSystemUtilities.jnilib (deflated 89%) adding: spark-client/distribution/lib/mac/libjnspeex.jnilib (deflated 55%) adding: spark-client/distribution/lib/mac/JavaSoundStream.fix.jar (deflated 58%) adding: spark-client/distribution/lib/mac/libjnscreencapture.jnilib (deflated 79%) adding: spark-client/distribution/lib/mac/libjnopus.jnilib (deflated 56%) adding: spark-client/distribution/lib/mac/libjnffmpeg.jnilib (deflated 64%) adding: spark-client/distribution/lib/mac/libjnportaudio.jnilib (deflated 56%) adding: spark-client/distribution/lib/mac/libjnquicktime.jnilib (deflated 79%) adding: spark-client/distribution/lib/mac/libjnawtrenderer.jnilib (deflated 79%) adding: spark-client/distribution/lib/mac/libjnmaccoreaudio.jnilib (deflated 60%) adding: spark-client/distribution/lib/mac/libjnvpx.jnilib (deflated 58%) adding: spark-client/distribution/lib/bctls-jdk18on-1.78.1.jar (deflated 12%) adding: spark-client/distribution/lib/dom4j-2.1.4.jar (deflated 6%) adding: spark-client/distribution/lib/spark-core-3.0.3-SNAPSHOT.jar (deflated 7%) adding: spark-client/distribution/lib/smack-java8-4.4.8.jar (deflated 18%) adding: spark-client/distribution/lib/smack-debug-slf4j-4.4.8.jar (deflated 21%) adding: spark-client/distribution/lib/windows64/ (stored 0%) adding: spark-client/distribution/lib/windows64/jng722.dll (deflated 56%) adding: spark-client/distribution/lib/windows64/jnvpx.dll (deflated 60%) adding: spark-client/distribution/lib/windows64/jnffmpeg.dll (deflated 64%) adding: spark-client/distribution/lib/windows64/civil.dll (deflated 58%) adding: spark-client/distribution/lib/windows64/jnopus.dll (deflated 46%) adding: spark-client/distribution/lib/windows64/jndirectshow.dll (deflated 71%) adding: spark-client/distribution/lib/windows64/jnwasapi.dll (deflated 70%) adding: spark-client/distribution/lib/windows64/jnspeex.dll (deflated 46%) adding: spark-client/distribution/lib/windows64/jnwincoreaudio.dll (deflated 67%) adding: spark-client/distribution/lib/windows64/jnscreencapture.dll (deflated 53%) adding: spark-client/distribution/lib/windows64/jnportaudio.dll (deflated 54%) adding: spark-client/distribution/lib/windows64/jnawtrenderer.dll (deflated 54%) adding: spark-client/distribution/lib/mxparser-1.2.2.jar (deflated 5%) adding: spark-client/distribution/lib/linux64/ (stored 0%) adding: spark-client/distribution/lib/linux64/libcivil.so (deflated 71%) adding: spark-client/distribution/lib/linux64/libjng722.so (deflated 55%) adding: spark-client/distribution/lib/linux64/libjnvpx.so (deflated 65%) adding: spark-client/distribution/lib/linux64/libodbcinst.so (deflated 56%) adding: spark-client/distribution/lib/linux64/libjnscreencapture.so (deflated 64%) adding: spark-client/distribution/lib/linux64/libodbc.so (deflated 61%) adding: spark-client/distribution/lib/linux64/libjnspeex.so (deflated 47%) adding: spark-client/distribution/lib/linux64/libjnpulseaudio.so (deflated 74%) adding: spark-client/distribution/lib/linux64/libjnvideo4linux2.so (deflated 78%) adding: spark-client/distribution/lib/linux64/libjnawtrenderer.so (deflated 60%) adding: spark-client/distribution/lib/linux64/libjnopus.so (deflated 44%) adding: spark-client/distribution/lib/linux64/libjnffmpeg.so (deflated 67%) adding: spark-client/distribution/lib/linux64/libjnportaudio.so (deflated 60%) adding: spark-client/distribution/lib/jaxb-api-2.3.1.jar (deflated 12%) adding: spark-client/distribution/lib/httpcore5-h2-5.2.4.jar (deflated 10%) adding: spark-client/distribution/lib/smack-resolver-javax-4.4.8.jar (deflated 22%) adding: spark-client/distribution/lib/jxmpp-core-1.0.3.jar (deflated 14%) adding: spark-client/distribution/lib/install4j-runtime-11.0.4.jar (deflated 9%) adding: spark-client/distribution/lib/jna-5.12.1.jar (deflated 2%) adding: spark-client/distribution/lib/smack-sasl-javax-4.4.8.jar (deflated 23%) adding: spark-client/distribution/lib/javax.activation-api-1.2.0.jar (deflated 7%) adding: spark-client/distribution/lib/smack-extensions-4.4.8.jar (deflated 14%) adding: spark-client/distribution/lib/smack-im-4.4.8.jar (deflated 11%) adding: spark-client/distribution/lib/smack-xmlparser-stax-4.4.8.jar (deflated 21%) adding: spark-client/distribution/lib/thumbnailator-0.4.20.jar (deflated 15%) adding: spark-client/distribution/lib/xmlpull-1.1.3.1.jar (deflated 12%) adding: spark-client/distribution/lib/LoboBrowser-1.0.0.jar (deflated 10%) adding: spark-client/distribution/lib/windows/ (stored 0%) adding: spark-client/distribution/lib/windows/jng722.dll (deflated 55%) adding: spark-client/distribution/lib/windows/jnvpx.dll (deflated 61%) adding: spark-client/distribution/lib/windows/jnffmpeg.dll (deflated 65%) adding: spark-client/distribution/lib/windows/civil.dll (deflated 56%) adding: spark-client/distribution/lib/windows/jnopus.dll (deflated 46%) adding: spark-client/distribution/lib/windows/jndirectshow.dll (deflated 63%) adding: spark-client/distribution/lib/windows/jnwasapi.dll (deflated 70%) adding: spark-client/distribution/lib/windows/jnspeex.dll (deflated 46%) adding: spark-client/distribution/lib/windows/jnwincoreaudio.dll (deflated 62%) adding: spark-client/distribution/lib/windows/jnscreencapture.dll (deflated 53%) adding: spark-client/distribution/lib/windows/jnportaudio.dll (deflated 61%) adding: spark-client/distribution/lib/windows/jnawtrenderer.dll (deflated 52%) adding: spark-client/distribution/lib/httpclient5-5.2.3.jar (deflated 9%) adding: spark-client/distribution/lib/httpcore5-5.2.4.jar (deflated 11%) adding: spark-client/distribution/lib/smack-experimental-4.4.8.jar (deflated 17%) adding: spark-client/distribution/lib/smack-streammanagement-4.4.8.jar (deflated 21%) adding: spark-client/distribution/lib/hsluv-0.2.jar (deflated 13%) adding: spark-client/distribution/lib/smack-core-4.4.8.jar (deflated 13%) adding: spark-client/distribution/lib/jxmpp-util-cache-1.0.3.jar (deflated 17%) adding: spark-client/distribution/lib/bcprov-jdk18on-1.78.1.jar (deflated 13%) adding: spark-client/distribution/security/ (stored 0%) adding: spark-client/distribution/bin/ (stored 0%) adding: spark-client/distribution/bin/startup.bat (deflated 57%) adding: spark-client/distribution/bin/startup.sh (deflated 51%) [root@yfw Spark-master]# scp root@your-server-ip:/opt/openfire/enterprise/Spark-master/spark-client.zip ./ ssh: Could not resolve hostname your-server-ip: Name or service not known [root@yfw Spark-master]#
最新发布
10-31
[root@yfw ~]# cd /opt/openfire/enterprise/spark/Spark [root@yfw Spark]# # 推荐使用 openfire 用户身份运行(更安全) [root@yfw Spark]# su - openfire -s /bin/bash ✅ JAVA_HOME: /usr/lib/jvm/java-11-openjdk ✅ Maven home: /opt/maven ✅ Java version: openjdk version "11.0.13" 2021-10-19 LTS [openfire@yfw ~]$ [openfire@yfw ~]$ # 切换到 Spark 目录 [openfire@yfw ~]$ cd /opt/openfire/enterprise/spark/Spark [openfire@yfw Spark]$ [openfire@yfw Spark]$ # 设置 DISPLAY 环境变量(通常为 :0) [openfire@yfw Spark]$ export DISPLAY=:0 [openfire@yfw Spark]$ [openfire@yfw Spark]$ # 启动 Spark [openfire@yfw Spark]$ ./Spark ./Spark: line 384: basename: command not found ./Spark: line 385: dirname: command not found ./Spark: line 400: dirname: command not found ./Spark: line 401: basename: command not found ./Spark: line 81: expr: command not found ./Spark: line 82: expr: command not found ./Spark: line 96: awk: command not found ./Spark: line 97: cp: command not found ./Spark: line 100: sed: command not found ./Spark: line 103: chmod: command not found ./Spark: line 172: expr: command not found ./Spark: line 172: [: -eq: unary operator expected ./Spark: line 172: expr: command not found ./Spark: line 172: [: -eq: unary operator expected ./Spark: line 172: expr: command not found ./Spark: line 172: [: -eq: unary operator expected ./Spark: line 172: expr: command not found ./Spark: line 172: [: -eq: unary operator expected ./Spark: line 172: expr: command not found ./Spark: line 172: [: -eq: unary operator expected Error: Could not find or load main class install4j.org.jivesoftware.launcher.Startup [openfire@yfw Spark]$ echo $PATH /usr/local/ffmpeg/bin:/opt/spark/bin:=en_US.UTF-8:/usr/local/ffmpeg/bin [openfire@yfw Spark]$ export PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" [openfire@yfw Spark]$ ls /usr/bin | grep -E "(cp|sed|basename|dirname)" basename cp cpack cpack3 cpan cpan-mirrors cpio cpp cpupower dirname lscpu mcpp rpm2cpio scp sed sedismod sedispol tcptraceroute [openfire@yfw Spark]$ which cp # 应该输出 /usr/bin/cp /usr/bin/cp [openfire@yfw Spark]$ which sed # /usr/bin/sed /usr/bin/sed [openfire@yfw Spark]$ which java # 可能是 /usr/lib/jvm/java-11-openjdk/bin/java /usr/bin/java [openfire@yfw Spark]$ java -version # 查看 Java 版本 openjdk version "1.8.0_312" OpenJDK Runtime Environment (build 1.8.0_312-b07) OpenJDK 64-Bit Server VM (build 25.312-b07, mixed mode) [openfire@yfw Spark]$ ls /usr/lib/jvm/java-11-openjdk/ bin conf include legal lib release tapset [openfire@yfw Spark]$ /usr/lib/jvm/java-11-openjdk/bin/java -version openjdk version "11.0.13" 2021-10-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing) [openfire@yfw Spark]$ export JAVA_HOME=/usr/lib/jvm/java-11-openjdk [openfire@yfw Spark]$ export PATH=$JAVA_HOME/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin [openfire@yfw Spark]$ java -version openjdk version "11.0.13" 2021-10-19 LTS OpenJDK Runtime Environment 18.9 (build 11.0.13+8-LTS) OpenJDK 64-Bit Server VM 18.9 (build 11.0.13+8-LTS, mixed mode, sharing) [openfire@yfw Spark]$ cd /opt/openfire/enterprise/spark/Spark [openfire@yfw Spark]$ ./Spark java.lang.reflect.InvocationTargetException at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.jivesoftware.launcher.Startup.start(Startup.java:75) at org.jivesoftware.launcher.Startup.main(Startup.java:31) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at com.exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:84) at com.install4j.runtime.launcher.UnixLauncher.start(UnixLauncher.java:69) at install4j.org.jivesoftware.launcher.Startup.main(Unknown Source) Caused by: java.awt.AWTError: Can't connect to X11 window server using ':0' as the value of the DISPLAY variable. at java.desktop/sun.awt.X11GraphicsEnvironment.initDisplay(Native Method) at java.desktop/sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:102) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.desktop/sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:61) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at java.desktop/java.awt.GraphicsEnvironment$LocalGE.createGE(GraphicsEnvironment.java:101) at java.desktop/java.awt.GraphicsEnvironment$LocalGE.<clinit>(GraphicsEnvironment.java:83) at java.desktop/java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:129) at java.desktop/sun.awt.X11.XToolkit.<clinit>(XToolkit.java:231) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Class.java:315) at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:588) at java.desktop/java.awt.Toolkit$2.run(Toolkit.java:583) at java.base/java.security.AccessController.doPrivileged(Native Method) at java.desktop/java.awt.Toolkit.getDefaultToolkit(Toolkit.java:582) at java.desktop/sun.swing.SwingUtilities2.getSystemMnemonicKeyMask(SwingUtilities2.java:2212) at java.desktop/javax.swing.plaf.basic.BasicLookAndFeel.initComponentDefaults(BasicLookAndFeel.java:1096) at java.desktop/javax.swing.plaf.metal.MetalLookAndFeel.initComponentDefaults(MetalLookAndFeel.java:440) at java.desktop/javax.swing.plaf.basic.BasicLookAndFeel.getDefaults(BasicLookAndFeel.java:150) at java.desktop/javax.swing.plaf.metal.MetalLookAndFeel.getDefaults(MetalLookAndFeel.java:1560) at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:587) at java.desktop/javax.swing.UIManager.setLookAndFeel(UIManager.java:629) at java.desktop/javax.swing.UIManager.initializeDefaultLAF(UIManager.java:1404) at java.desktop/javax.swing.UIManager.initialize(UIManager.java:1517) at java.desktop/javax.swing.UIManager.maybeInitialize(UIManager.java:1483) at java.desktop/javax.swing.UIManager.getInstalledLookAndFeels(UIManager.java:422) at java.desktop/javax.swing.UIManager.installLookAndFeel(UIManager.java:465) at java.desktop/javax.swing.UIManager.installLookAndFeel(UIManager.java:484) at org.jivesoftware.spark.ui.themes.LookAndFeelManager.<clinit>(LookAndFeelManager.java:40) at org.jivesoftware.Spark.startup(Spark.java:163) ... 13 more [openfire@yfw Spark]$
10-31
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序员勇哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值