测试类在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 执行的
保存之后,开始打包
执行结果