Discuss / Java / D:\eclipse\logging-log4j\src\com\itranswarp\learnjava>java -cp .:commons-logging-1.2.jar:log4j-api-2

D:\eclipse\logging-log4j\src\com\itranswarp\learnjava>java -cp .:commons-logging-1.2.jar:log4j-api-2

Topic source

这个问题找了一晚上了,还是没解决,真是跪了啊,大家帮我康康好嘛

D:\eclipse\logging-log4j\src\com\itranswarp\learnjava>java -cp .:commons-logging-1.2.jar:log4j-api-2.13.3.jar:log4j-core-2.13.3.jar:log4j-jcl-2.13.3.jar Main
错误: 找不到或无法加载主类 Main
原因: java.lang.ClassNotFoundException: Main

终于解决问题了,成功打印并在文件夹下得到log日志!

总结如下:

1.不能去包下面的Main.java文件的地址里进行javac编译,要在src文件夹下进行编译,但是要传入Main.java文件的地址(包下):

D:\eclipse\logging-log4j\src>javac -cp .;commons-logging-1.2.jar com\itranswarp\learnjava\Main.java

2.运行Main.class时也要在src文件夹下运行,但是此时由于含有包,所以要给出完整的类名,即  包名.类名

D:\eclipse\logging-log4j\src>java -cp .;commons-logging-1.2.jar;log4j-api-2.13.3.jar;log4j-core-2.13.3.jar;log4j-jcl-2.13.3.jar com.itranswarp.learnjava.Main

其实我之前的尝试,都是在包下的Main.java文件夹下进行编译并运行,能编译成功,但是运行就报错找不到或者加载不了类,报错类名错误。可是.class文件就静静的躺在这个文件夹下面,它就是找不到。。。我也不知道为啥,在网上看,说是包名和classpath的原因,classpath按照廖老师的讲解设置都没问题,可能问题就是出在了包身上,运行的时候它去找类名的时候因为包的原因找不到。

Start process...

10-23 10:55:28.038 [main] ERROR com.itranswarp.learnjava.Main
Invalid encoding.

java.io.UnsupportedEncodingException: invalidCharsetName
        at java.lang.StringCoding.encode(StringCoding.java:440) ~[?:?]
        at java.lang.String.getBytes(String.java:960) ~[?:?]
        at com.itranswarp.learnjava.Main.main(Main.java:13) [src/:?]
10-23 10:55:28.053 [main] INFO  com.itranswarp.learnjava.Main
Process end.

老哥,遇到同样问题了,你的方法帮了大忙,

做我的喵

#5 Created at ... [Delete] [Delete and Lock User]

编译可以  但是运行要到src文件下  且要给出.class的全限定类名 不然就会找不到

昵称

#6 Created at ... [Delete] [Delete and Lock User]

怎么把xml文件到classpath啊,那一章好像只有类和jar


  • 1

Reply