命令行运行java程序找不到或无法加载主类

 

测试类在idea中可以正常运行,但是在命令行操作,编译通过,运行时,提示 错误: 找不到或无法加载主类

java类如下:

package com.mc.qa.testdemo;

public class TestArgs {
    public static void main(String[] args) {
        System.out.println(args[0]);
        System.out.println(args[1]);
        System.out.println(args[2]);
        System.out.println("Test Command Args");
    }
}

命令行操作: 

MC:~ Smarter$ javac /Users/MC/TEMP/SSM/mc-springmvc/src/test/java/com/mc/qa/testdemo/TestArgs.java
MC:~ Smarter$ java /Users/MC/TEMP/SSM/mc-springmvc/src/test/java/com/mc/qa/testdemo/TestArgs
错误: 找不到或无法加载主类 .Users.wangcong21.TEMP.SSM.mc-springmvc.src.test.java.com.mc.qa.testdemo.TestArgs

原因:类路径与目录不匹配造成,运行时,需要带上包名(注意,需要在包所在的路径下运行,否则也是不匹配)

 

MC:java Smarter$ javac com/mc/qa/testdemo/TestArgs.java
MC:java Smarter$ java com.mc.qa.testdemo.TestArgs hhh sss aaa
hhh
sss
aaa
Test Command Args
MC:java Smarter$ pwd
/Users/MC/TEMP/SSM/mc-springmvc/src/test/java

 

在前一篇博客中介绍了eclipse打包。现在再介绍下idea中打包,类需要在main文件夹下,同样的步骤,我在test目录下,打出来的jar包,运行时还是会报同样的错误。

idea打jar包步骤如下

1是选择需要打包的类,这个类是运行jar包的入口

2是清单目录,可以放在main的resource文件夹中。默认是在/src/main/java,有博客说不能使用这个默认的目录,实际操作过程中,发现没有影响,打成的jar包也是可以java -jar xx.jar 执行的

 

保存之后,开始打包

执行结果

参考:https://blog.csdn.net/realwongp/article/details/85345629

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值