zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”

时间:2021-08-01 14:48:28

在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 
明明有.;

再在图形界面上看,也是有.;,但是问题依旧存在。

zzw原创_cmd下带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包运行提示 “错误: 找不到或无法加载主类 ”
zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”
zzw原创_cmd下带jar包运行提示 “错误: 找不到或无法加载主类 ”