1. 程式人生 > >zzw原創_cmd下帶jar包運行提示 “錯誤: 找不到或無法加載主類 ”

zzw原創_cmd下帶jar包運行提示 “錯誤: 找不到或無法加載主類 ”

系統 來看 too add 由於 ram 成功 ans 一個

在windows下編譯java,由於是臨時測試一下文件,不想改classpath,就在命令行中用 -cp 或classpath引入jar包,用javac編譯成功,便使用java帶-cp 或classpath運行類是卻失敗,提示“找不到或無法加載主類”,我的java源文件沒有包名。

H:\temp6\project\src>javac -cp dom4j-1.6.1.jar XmlTest.java

H:\temp6\project\src>
H:\temp6\project\src>java -classpath ./dom4j-1.6.1.jar XmlTest
錯誤: 找不到或無法加載主類 XmlTest

H:\temp6\project\src>java -classpath dom4j-1.6.1.jar XmlTest
錯誤: 找不到或無法加載主類 XmlTest

在網上溜達了一圈沒有找到答案,都說是classpath的問題,要在classpath中加上.; 看了一下我的電腦的環境變量

H:\temp6\project\src>set classpath
classpath=.;D:\jdk1.8.0_05\lib;D:\jdk1.8.0_05\lib\tools.jar
明明有.;

再在圖形界面上看,也是有.;,但是問題依舊存在。

技術分享圖片

,後來看到classpath,一個念頭想到,難道是-classpath參數臨時改變了系統參數?將命令行的系統變量限制在本行-classpath 後面的路徑中? 於是參數改成這樣
H:\temp6\project\src>java -classpath .;./

dom4j-1.6.1.jar XmlTest
-----------原xml內容------------
<?xml version="1.0" encoding="GBK"?>
<doc>
<person>
<name>周五</name>
<address>
<add ID="A0001">

可以了!

# 也就是在-classpath 後面要加上.;, 原來,用了-classpath參數,則系統自身的classpath就不起作用了,所以用了-classpath

參數,後面關聯的包的路徑、類的路徑都要帶上

技術分享圖片 技術分享圖片 技術分享圖片

zzw原創_cmd下帶jar包運行提示 “錯誤: 找不到或無法加載主類 ”