java 找不到或无法加载主类 test_JAVA报找不到或无法加载主类的错误

本文解释了在Java中如何通过添加-classpath参数来指定类路径,以便JVM能找到所需的TestMain.class文件。文中还介绍了默认情况下JVM如何查找类文件以及自定义JVM参数的方法。

85e26e766de8cf6ee557a119c8fbcd26.png

错误说明

1bd606fee38a3e0b694d2fef9685994b.png

本次测试类为TestMain

如果使用常规方式,即,java TestMain.class 运行当前class文件

72a79d3e014b0c1f96ecf1adf21240a7.png

即会报找不到当前类,就是我们想要运行的TestMain.class文件。

可是TestMain.class就在我们想要运行的目录下啊,而且cmd也是在当前目录打开的,那就应该能正常运行。

先附上正确运行的方式,我们在来看差别

261a39837e3f760a6c3c478f48d61b9a.png

可以看到,只是添加了一个-classpath参数以后,该TestMain.class文件就可以正常运行,看样子问题就出在这个-classpath参数上。

java -classpath C:Users

ikolaperelmanIdeaProjectsmy-nettysrcmainjava com.gitee.randomobject.test.TestMain

因为如果不添加-classpath文件的路径,那么就是默认去环境变量中去寻找class文件,默认环境变量一般配置为

JAVA_HOME,%JAVA_HOME%in,或者classpath:%JAVA_HOME%libt.d=jar;%JAVA_HOME%libools,jar 等等吧,这些配置的路径下边怎么会有我们生成的TestMain.class文件呢,故需要手动指定,这就是-classpath的作用,后边com.gitee.randomobject.test为完整的包名,TestMain及为需要运行的类名。这样,就是一个完整的,可以让jvm找到需要加载的我们自定义的class文件的路径了。classpath顾名思义,就是class(Java的编译后的二进制文件格式)的path(路径)嘛。

添加自定义JVM参数的运行方式

java -Xmx10m -Xms10m -Xmn5m -XX:+PrintGCDetails -classpath C:Users

ikolaperelmanIdeaProjectsmy-nettysrcmainjava com.gitee.randomobject.test.TestMain

设置新生代5m,初始堆10m,最大堆10m,并且打印垃圾回收日志的jvm参数来运行TestMain类

0e135adff15f53cb8c056b3078d9e448.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值