eclipse could not write file .classpath

在将Linux工作空间迁移到Windows时遇到的错误:无法写入.classpath文件。通过取消隐藏该文件的隐藏属性,解决了无法读取的问题。此经验适用于在不同操作系统间迁移开发环境。

 

<code style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px"><span style="FONT-FAMILY: Microsoft YaHei"><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(128,0,0); VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="str">'Setting build path'</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pln"> has encountered a problem</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pun">.</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pln">

</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; COLOR: rgb(43,145,175); VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="typ">Could</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pln"> not write file</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pun">:</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pln">
C</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pun">:\<span style="COLOR: #2b91af">XXXXXXX</span></span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pun">\.</span><span style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; PADDING-BOTTOM: 0px; BACKGROUND-COLOR: transparent; MARGIN: 0px; PADDING-LEFT: 0px; PADDING-RIGHT: 0px; VERTICAL-ALIGN: baseline; BORDER-TOP: 0px; BORDER-RIGHT: 0px; PADDING-TOP: 0px" class="pln">classpath</span></span></code>

The cause was copying a workspace from Linux to Windows. The windows hidden attribute is set on the .classpath file. Removing this attribute fixes the error.


右键点击.classpath文件,查看属性肯定被你隐藏了,取消隐藏就可以读取了
[root@yfw ~]# cd /etc/systemd/system [root@yfw system]# sudo chown -R openfire:openfire /opt/openfire [root@yfw system]# sudo chmod -R 755 /opt/openfire [root@yfw system]# ls -l /opt/openfire/{conf,logs,embedded-db,plugins} ls: cannot access '/opt/openfire/embedded-db': No such file or directory /opt/openfire/conf: total 12 -rwxr-xr-x 1 openfire openfire 1530 Feb 1 1980 crowd.properties -rwxr-xr-x 1 openfire openfire 2398 Feb 1 1980 openfire-demoboot.xml -rwxr-xr-x 1 openfire openfire 2947 Nov 15 10:58 security.xml /opt/openfire/logs: total 12 -rwxr-xr-x 1 openfire openfire 2693 Nov 15 11:22 nohup.out -rwxr-xr-x 1 openfire openfire 3893 Nov 15 10:58 openfire.log -rwxr-xr-x 1 openfire openfire 8 Nov 15 11:21 openfire.pid /opt/openfire/plugins: total 88 drwxr-xr-x 3 openfire openfire 4096 Sep 16 00:48 admin drwxr-xr-x 5 openfire openfire 4096 Nov 15 10:49 search -rwxr-xr-x 1 openfire openfire 78784 Jun 26 15:12 search.jar [root@yfw system]# ls -l /opt/openfire/conf/ total 12 -rwxr-xr-x 1 openfire openfire 1530 Feb 1 1980 crowd.properties -rwxr-xr-x 1 openfire openfire 2398 Feb 1 1980 openfire-demoboot.xml -rwxr-xr-x 1 openfire openfire 2947 Nov 15 10:58 security.xml [root@yfw system]# nohup "$JAVA" \ > -server \ > -DopenfireHome="$OPENFIRE_HOME" \ > -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" \ > -classpath "$OPENFIRE_HOME/lib/startup.jar" \ > org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 & [1] 1089228 [root@yfw system]# -bash: : No such file or directory [1]+ Exit 1 nohup "$JAVA" -server -DopenfireHome="$OPENFIRE_HOME" -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" -classpath "$OPENFIRE_HOME/lib/startup.jar" org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 [root@yfw system]# nohup "$JAVA" \ > -server \ > -DopenfireHome="$OPENFIRE_HOME" \ > -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" \ > -Dlog4j.configurationFile=file://$OPENFIRE_HOME/lib/log4j2.xml \ > -classpath "$OPENFIRE_HOME/lib/*" \ > org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 & [1] 1089307 [root@yfw system]# -bash: : No such file or directory [1]+ Exit 1 nohup "$JAVA" -server -DopenfireHome="$OPENFIRE_HOME" -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" -Dlog4j.configurationFile=file://$OPENFIRE_HOME/lib/log4j2.xml -classpath "$OPENFIRE_HOME/lib/*" org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 [root@yfw system]# export OPENFIRE_HOME=/opt/openfire [root@yfw system]# export JAVA_HOME=/usr/lib/jvm/java-17-openjdk [root@yfw system]# export JAVA=$JAVA_HOME/bin/java [root@yfw system]# export LOG_FILE=$OPENFIRE_HOME/logs/nohup.out [root@yfw system]# nohup "$JAVA" \ > -server \ > -DopenfireHome="$OPENFIRE_HOME" \ > -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" \ > -Dlog4j.configurationFile=file://$OPENFIRE_HOME/lib/log4j2.xml \ > -classpath "$OPENFIRE_HOME/lib/*" \ > org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 & [1] 1089714 [root@yfw system]# ls -l /opt/openfire/lib/log4j2.xml -rwxr-xr-x 1 openfire openfire 1648 Feb 1 1980 /opt/openfire/lib/log4j2.xml [1]+ Done nohup "$JAVA" -server -DopenfireHome="$OPENFIRE_HOME" -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" -Dlog4j.configurationFile=file://$OPENFIRE_HOME/lib/log4j2.xml -classpath "$OPENFIRE_HOME/lib/*" org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 [root@yfw system]# cat /opt/openfire/logs/openfire.log 2025.11.15 10:58:06.420 INFO [main]: org.jivesoftware.openfire.XMPPServer - Registering shutdown hook (standalone mode) 2025.11.15 10:58:06.989 INFO [main]: org.jivesoftware.util.cache.ConsistencyMonitor - Applying configuration for cache consistency check. Enabled: false 2025.11.15 10:58:07.021 INFO [main]: org.jivesoftware.openfire.XMPPServer - Openfire 5.0.2 [Nov 15, 2025, 10:58:07 AM] 2025.11.15 10:58:07.316 WARN [PluginMonitorTask-2]: org.jivesoftware.openfire.container.AdminConsolePlugin - Admin console: CertificateStoreManager has not been initialized yet. HTTPS will be unavailable. 2025.11.15 10:58:07.441 ERROR [PluginMonitorTask-2]: org.jivesoftware.openfire.container.AdminConsolePlugin - Could not start admin console server java.io.IOException: Failed to bind to ::/[0:0:0:0:0:0:0:0]:9090 at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:349) ~[jetty-server-12.0.24.jar:12.0.24] at org.eclipse.jetty.server.ServerConnector.open(ServerConnector.java:313) ~[jetty-server-12.0.24.jar:12.0.24] at org.eclipse.jetty.server.Server.lambda$doStart$0(Server.java:571) ~[jetty-server-12.0.24.jar:12.0.24] at java.util.stream.ForEachOps$ForEachOp$OfRef.accept(ForEachOps.java:183) ~[?:?] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:197) ~[?:?] at java.util.stream.ReferencePipeline$2$1.accept(ReferencePipeline.java:179) ~[?:?] at java.util.Spliterators$ArraySpliterator.forEachRemaining(Spliterators.java:992) ~[?:?] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:509) ~[?:?] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:499) ~[?:?] at java.util.stream.ForEachOps$ForEachOp.evaluateSequential(ForEachOps.java:150) ~[?:?] at java.util.stream.ForEachOps$ForEachOp$OfRef.evaluateSequential(ForEachOps.java:173) ~[?:?] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[?:?] at java.util.stream.ReferencePipeline.forEach(ReferencePipeline.java:596) ~[?:?] at org.eclipse.jetty.server.Server.doStart(Server.java:567) ~[jetty-server-12.0.24.jar:12.0.24] at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:93) ~[jetty-util-12.0.24.jar:12.0.24] at org.jivesoftware.openfire.container.AdminConsolePlugin.startup(AdminConsolePlugin.java:269) [xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.container.AdminConsolePlugin.initializePlugin(AdminConsolePlugin.java:373) [xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.container.PluginManager.loadPlugin(PluginManager.java:637) [xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.container.PluginMonitor$MonitorTask.run(PluginMonitor.java:338) [xmppserver-5.0.2.jar:5.0.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?] at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305) [?:?] at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305) [?:?] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?] at java.lang.Thread.run(Thread.java:833) [?:?] Caused by: java.net.BindException: Address already in use at sun.nio.ch.Net.bind0(Native Method) ~[?:?] at sun.nio.ch.Net.bind(Net.java:555) ~[?:?] at sun.nio.ch.ServerSocketChannelImpl.netBind(ServerSocketChannelImpl.java:337) ~[?:?] at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:294) ~[?:?] at org.eclipse.jetty.server.ServerConnector.openAcceptChannel(ServerConnector.java:344) ~[jetty-server-12.0.24.jar:12.0.24] ... 24 more 2025.11.15 10:58:07.450 INFO [PluginMonitorTask-2]: org.jivesoftware.openfire.container.PluginManager - Successfully loaded plugin 'admin'. 2025.11.15 11:26:32.129 ERROR [main]: org.jivesoftware.openfire.XMPPServer - null java.io.FileNotFoundException: null at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:1126) ~[xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:365) ~[xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:658) [xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:221) [xmppserver-5.0.2.jar:5.0.2] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) [?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) [?:?] at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) [?:?] at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) [?:?] at java.lang.Class.newInstance(Class.java:645) [?:?] at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) [startup.jar:5.0.2] at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) [startup.jar:5.0.2] 2025.11.15 11:26:32.178 WARN [main]: org.jivesoftware.util.JiveGlobals - Default properties have not been loaded from file. Using a non-persisting dummy properties object. [root@yfw system]# lsof -i :9090 [root@yfw system]# ss -tulnp | grep :9090 [root@yfw system]# -DopenfireHome=/opt/openfire -bash: -DopenfireHome=/opt/openfire: No such file or directory [root@yfw system]# #!/bin/bash [root@yfw system]# [root@yfw system]# export OPENFIRE_HOME=/opt/openfire [root@yfw system]# export JAVA_HOME=/usr/lib/jvm/java-17-openjdk [root@yfw system]# export JAVA="$JAVA_HOME/bin/java" [root@yfw system]# export LOG_FILE="$OPENFIRE_HOME/logs/nohup.out" [root@yfw system]# [root@yfw system]# # 动态构建 classpath [root@yfw system]# CP="" [root@yfw system]# for jar in "$OPENFIRE_HOME/lib"/*.jar; do > CP="$CP:$jar" > done [root@yfw system]# CP="${CP#:}" [root@yfw system]# [root@yfw system]# # 切换到 home 目录并启动 [root@yfw system]# cd "$OPENFIRE_HOME" || { echo "Cannot access OPENFIRE_HOME"; exit 1; } [root@yfw openfire]# [root@yfw openfire]# echo "Starting OpenFire..." Starting OpenFire... [root@yfw openfire]# nohup "$JAVA" \ > -server \ > -DopenfireHome="$OPENFIRE_HOME" \ > -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" \ > -Dlog4j.configurationFile="file://$OPENFIRE_HOME/lib/log4j2.xml" \ > -classpath "$CP" \ > org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 & [1] 1090964 [root@yfw openfire]# [root@yfw openfire]# echo $! > "$OPENFIRE_HOME/logs/openfire.pid" [root@yfw openfire]# echo "OpenFire started (PID $!)" OpenFire started (PID 1090964) [root@yfw openfire]# [root@yfw openfire]# # 实时查看日志 [root@yfw openfire]# tail -f "$LOG_FILE" at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) [?:?] at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) [?:?] at java.lang.Class.newInstance(Class.java:645) [?:?] at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) [startup.jar:5.0.2] at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) [startup.jar:5.0.2] 启动服务器时出错。有关详细信息,请查看日志文件。 Critical Error! The home directory has not been configured, which will prevent the application from working correctly. nohup: ignoring input Could not locate home java.io.FileNotFoundException at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:1126) at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:365) at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:658) at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:221) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) at java.base/java.lang.Class.newInstance(Class.java:645) at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) Error starting the server. Please check the log files for more information. Critical Error! The home directory has not been configured, which will prevent the application from working correctly. ^C [1]+ Done nohup "$JAVA" -server -DopenfireHome="$OPENFIRE_HOME" -Dopenfire.lib.dir="$OPENFIRE_HOME/lib" -Dlog4j.configurationFile="file://$OPENFIRE_HOME/lib/log4j2.xml" -classpath "$CP" org.jivesoftware.openfire.starter.ServerStarter >> "$LOG_FILE" 2>&1 [root@yfw openfire]# ls -l /opt/openfire/ total 492 drwxr-xr-x 3 openfire openfire 4096 Nov 15 11:21 bin -rwxr-xr-x 1 openfire openfire 439708 Feb 1 1980 changelog.html drwxr-xr-x 2 openfire openfire 4096 Nov 15 11:05 conf drwxr-xr-x 4 openfire openfire 4096 Sep 16 00:48 dist drwxr-xr-x 5 openfire openfire 4096 Sep 16 00:48 documentation drwxr-xr-x 2 openfire openfire 12288 Sep 16 00:48 lib -rwxr-xr-x 1 openfire openfire 10837 Feb 1 1980 LICENSE.html drwxr-xr-x 2 openfire openfire 4096 Nov 15 11:21 logs drwxr-xr-x 4 openfire openfire 4096 Nov 15 10:49 plugins -rwxr-xr-x 1 openfire openfire 5350 Feb 1 1980 README.html drwxr-xr-x 6 openfire openfire 4096 Sep 16 00:48 resources [root@yfw openfire]# sudo -u openfire java \ > -DopenfireHome=/opt/openfire \ > -cp "/opt/openfire/lib/*" \ > org.jivesoftware.util.JiveGlobals Error: LinkageError occurred while loading main class org.jivesoftware.util.JiveGlobals java.lang.UnsupportedClassVersionError: org/jivesoftware/util/JiveGlobals has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 [root@yfw openfire]# 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) [root@yfw openfire]# sudo -u openfire /usr/lib/jvm/java-17-openjdk/bin/java \ > -DopenfireHome=/opt/openfire \ > -classpath "/opt/openfire/lib/*" \ > org.jivesoftware.openfire.starter.ServerStarter Could not locate home java.io.FileNotFoundException at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:1126) at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:365) at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:658) at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:221) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) at java.base/java.lang.Class.newInstance(Class.java:645) at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) 11:35:29.888 [main] ERROR org.jivesoftware.openfire.XMPPServer - null java.io.FileNotFoundException: null at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:1126) ~[xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:365) ~[xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:658) [xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:221) [xmppserver-5.0.2.jar:5.0.2] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) [?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) [?:?] at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) [?:?] at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) [?:?] at java.lang.Class.newInstance(Class.java:645) [?:?] at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) [startup.jar:5.0.2] at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) [startup.jar:5.0.2] Error starting the server. Please check the log files for more information. Critical Error! The home directory has not been configured, which will prevent the application from working correctly. [root@yfw openfire]# cd /opt/openfire || { echo "Failed to enter /opt/openfire"; exit 1; } [root@yfw openfire]# sudo -u openfire /usr/lib/jvm/java-17-openjdk/bin/java \ > -DopenfireHome=/opt/openfire \ > -Dopenfire.lib.dir=/opt/openfire/lib \ > -classpath "/opt/openfire/lib/*" \ > org.jivesoftware.openfire.starter.ServerStarter Could not locate home java.io.FileNotFoundException at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:1126) at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:365) at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:658) at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:221) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) at java.base/jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) at java.base/java.lang.Class.newInstance(Class.java:645) at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) 11:37:06.753 [main] ERROR org.jivesoftware.openfire.XMPPServer - null java.io.FileNotFoundException: null at org.jivesoftware.openfire.XMPPServer.locateOpenfire(XMPPServer.java:1126) ~[xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.initialize(XMPPServer.java:365) ~[xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.start(XMPPServer.java:658) [xmppserver-5.0.2.jar:5.0.2] at org.jivesoftware.openfire.XMPPServer.<init>(XMPPServer.java:221) [xmppserver-5.0.2.jar:5.0.2] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ~[?:?] at jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) [?:?] at jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) [?:?] at java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) [?:?] at java.lang.reflect.ReflectAccess.newInstance(ReflectAccess.java:128) [?:?] at jdk.internal.reflect.ReflectionFactory.newInstance(ReflectionFactory.java:347) [?:?] at java.lang.Class.newInstance(Class.java:645) [?:?] at org.jivesoftware.openfire.starter.ServerStarter.start(ServerStarter.java:92) [startup.jar:5.0.2] at org.jivesoftware.openfire.starter.ServerStarter.main(ServerStarter.java:56) [startup.jar:5.0.2] Error starting the server. Please check the log files for more information. Critical Error! The home directory has not been configured, which will prevent the application from working correctly. [root@yfw openfire]# public class Test { -bash: public: command not found [root@yfw openfire]# public static void main(String[] args) { -bash: syntax error near unexpected token `(' [root@yfw openfire]# String home = System.getProperty("openfireHome"); -bash: syntax error near unexpected token `(' [root@yfw openfire]# System.out.println("openfireHome = " + home); -bash: syntax error near unexpected token `"openfireHome = "' [root@yfw openfire]# if (home == null) { -bash: syntax error near unexpected token `{' [root@yfw openfire]# System.err.println("ERROR: openfireHome is NULL"); -bash: syntax error near unexpected token `"ERROR: openfireHome is NULL"' [root@yfw openfire]# System.exit(1); -bash: syntax error near unexpected token `1' [root@yfw openfire]# } -bash: syntax error near unexpected token `}' [root@yfw openfire]# java.io.File f = new java.io.File(home); -bash: syntax error near unexpected token `(' [root@yfw openfire]# System.out.println("Exists: " + f.exists()); -bash: syntax error near unexpected token `"Exists: "' [root@yfw openfire]# System.out.println("IsDir : " + f.isDirectory()); -bash: syntax error near unexpected token `"IsDir : "' [root@yfw openfire]# System.out.println("CanRead: " + f.canRead()); -bash: syntax error near unexpected token `"CanRead: "' [root@yfw openfire]# System.out.println("CanWrite: " + f.canWrite()); -bash: syntax error near unexpected token `"CanWrite: "' [root@yfw openfire]# } -bash: syntax error near unexpected token `}' [root@yfw openfire]# } -bash: syntax error near unexpected token `}' [root@yfw openfire]#
最新发布
11-16
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值