在 Ubuntu 下排查 Java 报错,通常可以按下面几个层次来做:
java -jar yourapp.jar
# 或
java YourMainClass
Exception in thread "main"NullPointerException, ClassNotFoundException)java -jar yourapp.jar > error.log 2>&1
cat error.log
java -version
javac -version
echo $JAVA_HOME
which java
update-alternatives --config java
command not found: javasudo apt update
sudo apt install default-jdk
UnsupportedClassVersionErrorjava -version
# 确认版本一致
ClassNotFoundException / NoClassDefFoundErrorjava -cp ".:lib/*" MainClass
chmod +x yourapp.jar
netstat -tunlp | grep 8080
# 或
lsof -i:8080
journalctl -xe
systemctl status yourapp.service
journalctl -u yourapp.service
java -verbose:class -jar yourapp.jar
java -agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5005 -jar yourapp.jar
jps
jstack <pid>
jmap -heap <pid>
如果你愿意,可以直接把:
贴出来,我可以帮你具体分析原因。