hsqldb-2.2.5运行runManager.bat报错

解决hsqldb运行错误:UnsupportedClassVersionError
在尝试运行hsqldb的runManager.bat时遇到错误:'Exception in thread "main" java.lang.UnsupportedClassVersionError: oil/DatabaseManager (Unsupported major.minor version 50.0)'。问题源于系统中使用的JDK版本过低,为1.3.1_01。通过检查环境变量PATH和JAVA_HOME,发现存在多个JDK版本,包括1.1.8和1.3.1。为解决此问题,更新JAVA_HOME指向JDK1.6.0_20,并将%JAVA_HOME%in添加到PATH变量前,之后成功运行runManager.bat。

 D:\Java_Essential\hsqldb-2.2.5\hsqldb\bin>cd ..\data
Exception in thread "main" java.lang.UnsupportedClassVersionError: o
il/DatabaseManager (Unsupported major.minor version 50.0) //最低版本5.0 JDK问题
        at java.lang.ClassLoader.defineClass0(Native Method)
        at java.lang.ClassLoader.defineClass(Unknown Source)
        at java.security.SecureClassLoader.defineClass(Unknown Sourc
        at java.net.URLClassLoader.defineClass(Unknown Source)
        at java.net.URLClassLoader.access$100(Unknown Source)
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)

在cmd中输入java -version

C:\Documents and Settings\Administrator>java -version
java version "1.3.1_01"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.3.1_01)
Java HotSpot(TM) Client VM (build 1.3.1_01, mixed mode)
 版本是1.3.1_01 ...流汗什么时候用这么低版本的JDK

点击环境变量path变量查看值:

D:\oracle\ora92\bin;E:\oracle10g\bin;C:\Program Files\Oracle\jre\1.3.1\bin;C:\Program Files\Oracle\jre\1.1.8\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;D:\Program Files\TortoiseSVN\bin;C:\Program Files\Common Files\Lenovo;C:\Program Files\ThinkPad Wireless LAN Adapter Software;C:\Program Files\Intel\WiFi\bin\

安装oracle10g的时候带了个JDK1.3,现在就是要设置path环境变量了,嗯...后面还有一个C:\Program Files\Oracle\jre\1.1.8\bin,

java.version, oracle.jserver.version, and oracle.server.version

In release 9.2.0, we return "1.3.1" for java.version property, to
correspond to the JDK default. If you have been using the presence of
"Oracle" in java.version to determine whether your code is running on
Oracle9i JVM as opposed to the client, then you should switch to testing
whether the oracle.jserver.version property is non-null.  (In release
8.1.5, the value of java.version was "Oracle Server 1.1.6". In release
8.1.6, 8.1.7 and 9.0.1 the value of java.version was "1.2.1").  The
property oracle.server.version is now deprecated.  It was set in 8.1.5,
8.1.6 and 8.1.7 for backward compatibility reasons only.

Oracle9i帮助说明,向后兼容带的1.1.8。

ava(TM) 2 SDK, Standard Edition Version 1.4.2

     For a more extensive HTML version of this file, see README.html.

Contents

   * Introduction
   * System Requirements & Installation
   * Release Notes
   * Bug Reports and Feedback
   * Java 2 SDK Documentation
   * Redistribution
   * Web Pages

Oracle10g,1.4.2.

看下JAVA_HOME变量指向路径C:\Program Files\Java

奇怪怎么没看到JDK这级目录,改下变成C:\Program Files\Java\jdk1.6.0_20,给你个高版本让你开心下

在path变量前加上%JAVA_HOME%\bin;重新运行runManager.bat,OK

 

 

[root@yfw lib]# cd /opt/openfire/lib [root@yfw lib]# sudo rm -f jsr311-api-1.1.1.jar jersey-core-1.19.4.jar [root@yfw lib]# ls -la total 62992 drwxr-xr-x 2 openfire openfire 12288 Nov 15 19:32 . drwxr-xr-x 11 openfire openfire 4096 Nov 15 18:34 .. -rwxr-xr-x 1 openfire openfire 62983 Feb 1 1980 activation-1.1.jar -rwxr-xr-x 1 openfire openfire 259853 Feb 1 1980 apache-el-9.0.107.jar -rwxr-xr-x 1 openfire openfire 1052263 Feb 1 1980 apache-jsp-9.0.107.jar -rwxr-xr-x 1 openfire openfire 126113 Feb 1 1980 asm-9.8.jar -rwxr-xr-x 1 openfire openfire 73498 Feb 1 1980 asm-commons-9.8.jar -rwxr-xr-x 1 openfire openfire 51934 Feb 1 1980 asm-tree-9.8.jar -rwxr-xr-x 1 openfire openfire 476853 Feb 1 1980 bcpg-jdk18on-1.78.1.jar -rwxr-xr-x 1 openfire openfire 1125173 Feb 1 1980 bcpkix-jdk18on-1.78.1.jar -rwxr-xr-x 1 openfire openfire 8324412 Feb 1 1980 bcprov-jdk18on-1.78.1.jar -rwxr-xr-x 1 openfire openfire 705135 Feb 1 1980 bcutil-jdk18on-1.78.1.jar -rwxr-xr-x 1 openfire openfire 906581 Feb 1 1980 caffeine-3.2.0.jar -rwxr-xr-x 1 openfire openfire 223979 Feb 1 1980 checker-qual-3.33.0.jar -rwxr-xr-x 1 openfire openfire 85550 Feb 1 1980 common-image-3.9.4.jar -rwxr-xr-x 1 openfire openfire 89993 Feb 1 1980 common-io-3.9.4.jar -rwxr-xr-x 1 openfire openfire 119561 Feb 1 1980 common-lang-3.9.4.jar -rwxr-xr-x 1 openfire openfire 353793 Feb 1 1980 commons-codec-1.15.jar -rwxr-xr-x 1 openfire openfire 211301 Feb 1 1980 commons-dbcp2-2.9.0.jar -rwxr-xr-x 1 openfire openfire 45711 Feb 1 1980 commons-ip-math-1.32.jar -rwxr-xr-x 1 openfire openfire 702952 Feb 1 1980 commons-lang3-3.18.0.jar -rwxr-xr-x 1 openfire openfire 61829 Feb 1 1980 commons-logging-1.2.jar -rwxr-xr-x 1 openfire openfire 134858 Feb 1 1980 commons-pool2-2.9.0.jar -rwxr-xr-x 1 openfire openfire 238400 Feb 1 1980 commons-text-1.10.0.jar -rwxr-xr-x 1 openfire openfire 324655 Feb 1 1980 dom4j-2.1.4.jar -rwxr-xr-x 1 openfire openfire 885532 Feb 1 1980 dwr-3.0.2-RELEASE.jar -rwxr-xr-x 1 openfire openfire 3160927 Feb 1 1980 ecj-3.33.0.jar -rwxr-xr-x 1 openfire openfire 16017 Feb 1 1980 error_prone_annotations-2.18.0.jar -rwxr-xr-x 1 openfire openfire 4617 Feb 1 1980 failureaccess-1.0.1.jar -rwxr-xr-x 1 openfire openfire 3037368 Feb 1 1980 guava-32.0.1-jre.jar -rwxr-xr-x 1 openfire openfire 1642044 Feb 1 1980 hsqldb-2.7.1.jar -rwxr-xr-x 1 openfire openfire 780321 Feb 1 1980 httpclient-4.5.13.jar -rwxr-xr-x 1 openfire openfire 328593 Feb 1 1980 httpcore-4.4.13.jar -rwxr-xr-x 1 openfire openfire 1140532 Feb 1 1980 i18n-5.0.2.jar -rwxr-xr-x 1 openfire openfire 69514 Feb 1 1980 imageio-bmp-3.9.4.jar -rwxr-xr-x 1 openfire openfire 116474 Feb 1 1980 imageio-core-3.9.4.jar -rwxr-xr-x 1 openfire openfire 29877 Feb 1 1980 istack-commons-runtime-3.0.11.jar -rwxr-xr-x 1 openfire openfire 9301 Feb 1 1980 j2objc-annotations-2.8.jar -rwxr-xr-x 1 openfire openfire 68453 Feb 1 1980 jakarta.activation-1.2.2.jar -rwxr-xr-x 1 openfire openfire 25058 Feb 1 1980 jakarta.annotation-api-1.3.5.jar -rwxr-xr-x 1 openfire openfire 15392 Feb 1 1980 jakarta.transaction-api-1.3.3.jar -rwxr-xr-x 1 openfire openfire 115638 Feb 1 1980 jakarta.xml.bind-api-2.3.3.jar -rwxr-xr-x 1 openfire openfire 287352 Feb 1 1980 jansi-1.18.jar -rwxr-xr-x 1 openfire openfire 56674 Feb 1 1980 javax.activation-api-1.2.0.jar -rwxr-xr-x 1 openfire openfire 659031 Feb 1 1980 javax.mail-1.6.2.jar -rwxr-xr-x 1 openfire openfire 128076 Feb 1 1980 jaxb-api-2.3.1.jar -rwxr-xr-x 1 openfire openfire 1035660 Feb 1 1980 jaxb-runtime-2.3.3.jar -rwxr-xr-x 1 openfire openfire 232455 Feb 1 1980 jaxen-1.2.0.jar -rwxr-xr-x 1 openfire openfire 2254 Feb 1 1980 jcip-annotations-1.0.jar -rwxr-xr-x 1 openfire openfire 18420 Feb 1 1980 jcl-over-slf4j-2.0.9.jar -rwxr-xr-x 1 openfire openfire 4573 Feb 1 1980 jetty-ee-12.0.24.jar -rwxr-xr-x 1 openfire openfire 81096 Feb 1 1980 jetty-ee8-annotations-12.0.24.jar -rwxr-xr-x 1 openfire openfire 11806 Feb 1 1980 jetty-ee8-apache-jsp-12.0.24.jar -rwxr-xr-x 1 openfire openfire 444737 Feb 1 1980 jetty-ee8-nested-12.0.24.jar -rwxr-xr-x 1 openfire openfire 22988 Feb 1 1980 jetty-ee8-plus-12.0.24.jar -rwxr-xr-x 1 openfire openfire 76151 Feb 1 1980 jetty-ee8-security-12.0.24.jar -rwxr-xr-x 1 openfire openfire 145652 Feb 1 1980 jetty-ee8-servlet-12.0.24.jar -rwxr-xr-x 1 openfire openfire 132415 Feb 1 1980 jetty-ee8-webapp-12.0.24.jar -rwxr-xr-x 1 openfire openfire 32318 Feb 1 1980 jetty-ee8-websocket-jetty-api-12.0.24.jar -rwxr-xr-x 1 openfire openfire 34475 Feb 1 1980 jetty-ee8-websocket-jetty-common-12.0.24.jar -rwxr-xr-x 1 openfire openfire 33158 Feb 1 1980 jetty-ee8-websocket-jetty-server-12.0.24.jar -rwxr-xr-x 1 openfire openfire 8780 Feb 1 1980 jetty-ee8-websocket-servlet-12.0.24.jar -rwxr-xr-x 1 openfire openfire 436582 Feb 1 1980 jetty-http-12.0.24.jar -rwxr-xr-x 1 openfire openfire 334337 Feb 1 1980 jetty-io-12.0.24.jar -rwxr-xr-x 1 openfire openfire 32912 Feb 1 1980 jetty-jmx-12.0.24.jar -rwxr-xr-x 1 openfire openfire 31093 Feb 1 1980 jetty-jndi-12.0.24.jar -rwxr-xr-x 1 openfire openfire 34802 Feb 1 1980 jetty-plus-12.0.24.jar -rwxr-xr-x 1 openfire openfire 145052 Feb 1 1980 jetty-security-12.0.24.jar -rwxr-xr-x 1 openfire openfire 636164 Feb 1 1980 jetty-server-12.0.24.jar -rwxr-xr-x 1 openfire openfire 273076 Feb 1 1980 jetty-servlet-api-4.0.6.jar -rwxr-xr-x 1 openfire openfire 117316 Feb 1 1980 jetty-session-12.0.24.jar -rwxr-xr-x 1 openfire openfire 696154 Feb 1 1980 jetty-util-12.0.24.jar -rwxr-xr-x 1 openfire openfire 191775 Feb 1 1980 jetty-websocket-core-common-12.0.24.jar -rwxr-xr-x 1 openfire openfire 46361 Feb 1 1980 jetty-websocket-core-server-12.0.24.jar -rwxr-xr-x 1 openfire openfire 87171 Feb 1 1980 jetty-xml-12.0.24.jar -rwxr-xr-x 1 openfire openfire 82863 Feb 1 1980 jmdns-1.0.jar -rwxr-xr-x 1 openfire openfire 397874 Feb 1 1980 jsmpp-2.3.10.jar -rwxr-xr-x 1 openfire openfire 74702 Feb 1 1980 json-20231013.jar -rwxr-xr-x 1 openfire openfire 3819 Feb 1 1980 jspecify-1.0.0.jar -rwxr-xr-x 1 openfire openfire 19936 Feb 1 1980 jsr305-3.0.2.jar -rwxr-xr-x 1 openfire openfire 317816 Feb 1 1980 jtds-1.3.1.jar -rwxr-xr-x 1 openfire openfire 71976 Feb 1 1980 jzlib-1.1.3.jar -rwxr-xr-x 1 openfire openfire 114655 Feb 1 1980 libidn-1.35.jar -rwxr-xr-x 1 openfire openfire 2199 Feb 1 1980 listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar -rwxr-xr-x 1 openfire openfire 1648 Feb 1 1980 log4j2.xml -rwxr-xr-x 1 openfire openfire 313296 Feb 1 1980 log4j-api-2.20.0.jar -rwxr-xr-x 1 openfire openfire 1847550 Feb 1 1980 log4j-core-2.20.0.jar -rwxr-xr-x 1 openfire openfire 26430 Feb 1 1980 log4j-slf4j2-impl-2.20.0.jar -rwxr-xr-x 1 openfire openfire 1358692 Feb 1 1980 mssql-jdbc-9.4.1.jre11.jar -rwxr-xr-x 1 openfire openfire 2489850 Feb 1 1980 mysql-connector-j-8.2.0.jar -rwxr-xr-x 1 openfire openfire 4554 Feb 1 1980 netty-all-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 339045 Feb 1 1980 netty-buffer-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 355199 Feb 1 1980 netty-codec-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 67192 Feb 1 1980 netty-codec-dns-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 37789 Feb 1 1980 netty-codec-haproxy-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 490985 Feb 1 1980 netty-codec-http2-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 674362 Feb 1 1980 netty-codec-http-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 44736 Feb 1 1980 netty-codec-memcache-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 113699 Feb 1 1980 netty-codec-mqtt-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 46015 Feb 1 1980 netty-codec-redis-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 21344 Feb 1 1980 netty-codec-smtp-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 121032 Feb 1 1980 netty-codec-socks-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 34636 Feb 1 1980 netty-codec-stomp-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 19823 Feb 1 1980 netty-codec-xml-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 719225 Feb 1 1980 netty-common-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 580162 Feb 1 1980 netty-handler-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 25650 Feb 1 1980 netty-handler-proxy-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 26833 Feb 1 1980 netty-handler-ssl-ocsp-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 37842 Feb 1 1980 netty-resolver-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 188360 Feb 1 1980 netty-resolver-dns-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 9145 Feb 1 1980 netty-resolver-dns-classes-macos-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 19825 Feb 1 1980 netty-resolver-dns-native-macos-4.1.118.Final-osx-aarch_64.jar -rwxr-xr-x 1 openfire openfire 19629 Feb 1 1980 netty-resolver-dns-native-macos-4.1.118.Final-osx-x86_64.jar -rwxr-xr-x 1 openfire openfire 521428 Feb 1 1980 netty-transport-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 147621 Feb 1 1980 netty-transport-classes-epoll-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 108558 Feb 1 1980 netty-transport-classes-kqueue-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 42321 Feb 1 1980 netty-transport-native-epoll-4.1.118.Final-linux-aarch_64.jar -rwxr-xr-x 1 openfire openfire 36594 Feb 1 1980 netty-transport-native-epoll-4.1.118.Final-linux-riscv64.jar -rwxr-xr-x 1 openfire openfire 40644 Feb 1 1980 netty-transport-native-epoll-4.1.118.Final-linux-x86_64.jar -rwxr-xr-x 1 openfire openfire 25741 Feb 1 1980 netty-transport-native-kqueue-4.1.118.Final-osx-aarch_64.jar -rwxr-xr-x 1 openfire openfire 25170 Feb 1 1980 netty-transport-native-kqueue-4.1.118.Final-osx-x86_64.jar -rwxr-xr-x 1 openfire openfire 44157 Feb 1 1980 netty-transport-native-unix-common-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 18241 Feb 1 1980 netty-transport-rxtx-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 50814 Feb 1 1980 netty-transport-sctp-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 32189 Feb 1 1980 netty-transport-udt-4.1.118.Final.jar -rwxr-xr-x 1 openfire openfire 7310561 Feb 1 1980 ojdbc11-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 155093 Feb 1 1980 ons-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 502640 Feb 1 1980 oraclepki-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 1666060 Feb 1 1980 orai18n-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 1098916 Feb 1 1980 postgresql-42.7.7.jar -rwxr-xr-x 1 openfire openfire 260433 Feb 1 1980 rsi-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 9890 Feb 1 1980 shaj-0.5.jar -rwxr-xr-x 1 openfire openfire 32445 Feb 1 1980 simplefan-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 230352 Feb 1 1980 sitemesh-2.5.0.jar -rwxr-xr-x 1 openfire openfire 64579 Feb 1 1980 slf4j-api-2.0.9.jar -rwxr-xr-x 1 openfire openfire 51542 Feb 1 1980 startup.jar -rwxr-xr-x 1 openfire openfire 206430 Feb 1 1980 taglibs-standard-impl-1.2.5.jar -rwxr-xr-x 1 openfire openfire 40153 Feb 1 1980 taglibs-standard-spec-1.2.5.jar -rwxr-xr-x 1 openfire openfire 80659 Feb 1 1980 tinder-2.1.0.jar -rwxr-xr-x 1 openfire openfire 71976 Feb 1 1980 txw2-2.3.3.jar -rwxr-xr-x 1 openfire openfire 1503025 Feb 1 1980 ucp-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 129321 Feb 1 1980 xdb-23.7.0.25.01.jar -rwxr-xr-x 1 openfire openfire 4746045 Feb 1 1980 xmppserver-5.0.2.jar -rwxr-xr-x 1 openfire openfire 127586 Feb 1 1980 xpp3-1.1.4c.0.jar [root@yfw lib]#
最新发布
11-16
你已经做得非常出色! ✅ 当前状态总结: | 项目 | 状态 | |------|------| | Openfire 主程序运行? | ✅ 是(systemd 正常启动) | | `openfire` 用户权限正确? | ✅ `/opt/openfire` 所有者为 `openfire:openfire` | | 冲突的 Jersey 1.x JAR 是否已移除? | ✅ 已删除 `jsr311-api-1.1.1.jar`, `jersey-core-1.19.4.jar` | | REST API 插件依赖完整? | ✅ `/plugins/restapi/lib/` 包含完整的 **Jersey 2.45 + Jakarta EE** 套件 | | 使用 Java 17? | ✅ 支持但需额外 JVM 参数 | | 类路径是否包含插件库? | ⚠️ 尚未确认 | --- ## ✅ 下一步:确保 Openfire 能加载插件中的 Jakarta/Jersey 依赖 虽然插件目录结构完整,但 **Openfire 默认不会自动将 `plugins/*/lib/*.jar` 加入 classpath**,除非显式声明。 ### 🔧 关键修复:更新 systemd 配置以包含插件依赖 #### 编辑服务文件: ```bash sudo nano /etc/systemd/system/openfire.service ``` #### 修改 `ExecStart` 行如下: ```ini ExecStart=/usr/lib/jvm/java-17-openjdk/bin/java \ -DopenfireHome=/opt/openfire \ -Dopenfire.lib.dir=/opt/openfire/lib \ --add-modules=java.se \ --add-opens=java.base/java.lang=ALL-UNNAMED \ --add-opens=java.base/java.nio=ALL-UNNAMED \ --add-opens=java.base/java.util=ALL-UNNAMED \ --add-opens=java.base/java.util.concurrent=ALL-UNNAMED \ --add-opens=java.base/java.time=ALL-UNNAMED \ -Xms256m \ -Xmx1g \ -cp "/opt/openfire/lib/*:/opt/openfire/plugins/restapi/lib/*" \ org.jivesoftware.openfire.starter.ServerStarter ``` 📌 解释: - `-cp "...plugins/restapi/lib/*"` → 显式加载 REST 插件所需的所有 JAR - `--add-opens=...` → 允许 Jersey 反射访问受限类(Java 17+ 必需) - `-Xms/-Xmx` → 设置合理堆内存 > 💡 提示:如果你有多个插件(如 `userstatus`, `monitoring`),可扩展为: > > ```bash > -cp "/opt/openfire/lib/*:/opt/openfire/plugins/*/lib/*" > ``` --- ### 🔁 重载并重启服务 ```bash sudo systemctl daemon-reload sudo systemctl restart openfire ``` --- ### 🔎 实时查看日志验证是否成功 ```bash sudo journalctl -u openfire.service -f --since "now" ``` #### ✅ 成功标志(你会在日志中看到类似内容): ```log INFO [Thread-17] org.eclipse.jetty.webapp.StandardDescriptorProcessor.noInstanceBasedMimeTypes - Empty mime-mapping for 'csh' INFO [Thread-17] org.jivesoftware.openfire.plugin.rest.RestApiPlugin.initializePlugin - Initializing REST API Plugin INFO [Thread-17] org.glassfish.jersey.servlet.init.JerseyServletContainerInitializer.addServlets - Registering jersey servlet with URL mapping /* for application class org.jivesoftware.openfire.plugin.rest.service.UserRestService INFO [Thread-17] org.eclipse.jetty.servlet.ServletHandler.updateMappings - Mapped servlet org.glassfish.jersey.servlet.ServletContainer-68a7e2 to /* INFO [Thread-17] org.jivesoftware.openfire.container.PluginManager.loadPlugin - Successfully loaded plugin 'restapi' INFO [Thread-17] org.jivesoftware.openfire.http.HttpBindManager.startHttpServer - Started HTTP server on port 7070 and interface 0.0.0.0 INFO [Thread-17] org.jivesoftware.openfire.admin.AdminConsolePlugin.getAdminURL - Admin console listening at http://0.0.0.0:9090 ``` 如果出现以下错误,请继续排查: #### ❌ 错误 1:`NoClassDefFoundError: jakarta/servlet/ServletConfig` → 原因:缺少 Servlet API ✅ 解决:你已经有 `jetty-servlet-api-4.0.6.jar` → ✅ 不需要处理 #### ❌ 错误 2:`javax/ws/rs/ext/MessageBodyWriter` → 原因:仍在尝试使用旧版 JAX-RS ✅ 解决:确认没有残留的 `javax.ws.rs.*` jar 文件 --- ## 🚀 访问 Web 控制台完成初始化 打开浏览器访问: 👉 http://你的服务器IP:9090 你应该看到 Openfire 安装向导页面。按提示操作: 1. **选择语言** → 中文或 English 2. **设置数据库** - 推荐初学者选 “Embedded Database”(嵌入式 HSQLDB- 生产环境可配置 MySQL/PostgreSQL 3. **配置网络** - Server Name: `yfw` 或你的域名/IP - Admin Port: `9090` 4. **创建管理员账户** - 用户名:`admin` - 密码:输入强密码(记住它!) 5. 完成安装 --- ## 🔐 启用 REST API 并获取 Token 1. 登录管理界面:http://your-server:9090 2. 进入菜单:**“系统管理” → “REST API”** 3. 勾选 **“启用 REST API”** 4. 点击 **“生成新密钥”** → 得到一个长字符串(即 Bearer Token) --- ## 🧪 测试 REST API 是否工作正常 ### 示例:列出所有用户(默认至少有一个 admin) ```bash curl -X GET \ http://localhost:9090/plugins/restapi/v1/users \ -H "Authorization: Bearer YOUR_TOKEN_HERE" \ -H "Accept: application/json" | python3 -m json.tool ``` 替换 `YOUR_TOKEN_HERE` 为你在界面上生成的 token。 ✅ 预期输出(JSON 格式): ```json { "users": [ { "username": "admin", "name": "", "email": "" } ] } ``` --- ## ✅ 最终检查清单 | 检查项 | 是否完成 | |-------|---------| | 删除了冲突的 Jersey 1.x JAR? | ✅ | | systemd 配置包含插件 lib? | ✅ | | 添加了 `--add-opens` JVM 参数? | ✅ | | 成功访问 http://ip:9090? | 🔲 (你现在可以试试) | | 完成初始设置向导? | 🔲 | | 启用 REST API 并生成 Token? | 🔲 | | 能通过 curl 获取用户列表? | 🔲 | --- ###
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值