報錯 Error: Could not find or load main class test
可能原因:
1、沒有配置環境變量
2、當java腳本中還有package定義時,需要創建package名字的文件夾,將.java和.class文件放到文件夾中,執行時也需要帶上文件路徑
配置JAVA_HOME和PATH
[root@node1 ~]# more .bash_profile
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
export JAVA_HOME=/home/dmdba/dmdbms/jdk
export PATH=$PATH:$HOME/bin:/home/dmdba/dmdbms/jdk/bin:/home/dmdba/dmdbms/jdk/jre/bin
[root@node1 ~]#source .bash_profile
java版本:
[root@node1 ~]# java -version
openjdk version "1.8.0_20"
OpenJDK Runtime Environment (build 1.8.0_20-b26)
OpenJDK 64-Bit Server VM (build 25.20-b23, mixed mode)
案例1
簡單demo
[root@node1 ~]# more test.java
public class test{
public static void main(String args[]) {
System.out.println("hello World");
}
}
[root@node1 ~]# javac test.java
[root@node1 ~]# java test
Error: Could not find or load main class test
錯誤原因:沒有配置CLASSPATH
[root@node1 ~]# pwd
/root
將test.class所在的路徑加入到環境變量中
export CLASSPATH=/root
source .bash_profile 使環境變量生效
再次嘗試運行,成功
[root@node1 ~]# java test
hello World
案例2
已經配置JAVA_HOME、PATH、CLASSPATCH
簡單demo
[root@node1 ~]# more demo.java
package demo ;
public class demo{
public static void main(String args[]) {
System.out.println("hello World");
}
}
[root@node1 ~]# javac demo.java
[root@node1 ~]# java demo
Error: Could not find or load main class demo
錯誤原因:沒有創建相應的文件夾
[root@node1 ~]# mkdir demo
[root@node1 ~]# mv demo.* ./demo
[root@node1 ~]# ll
total 20
drwxr-xr-x 2 root root 4096 Mar 31 06:44 demo
[root@node1 ~]# java demo.demo
hello World