Java找不到或无法加载主类及编码错误问题的解决方案

所属分类: 软件编程 / java 阅读数: 27
收藏 0 赞 0 分享

先给出具体代码(当前目录为:D:\pro):

package org.test;
public class TestJava{
  public static void main(String args[]){
    System.out.println("Hello World!!!");
    System.out.println("你好,Java!!");
  }
}

1、 cmd 窗口运行时出现“找不到或无法加载主类”问题:

D:\pro>javac TestJava.java
D:\pro>java TestJava
错误: 找不到或无法加载主类 TestJava

出现这种问题的主要原因是程序中有package即包的存在。所以,我们有两种方法对包进行处理。

(1)手动新建包的目录:

如在当前目录下新建:(d:\pro)–>org–>test

然后把编译生成的TestJava.class文件移动到d:\pro\org\test目录下,

此时再运行java org.test.TestJava

就可以输出正确结果了。

D:\pro>javac TestJava.java
D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

(2)自动创建包的目录:

运行代码:

 javac -d . TestJava.java
 java org.test.TestJava

(注意:”-d . “这个点的前面是有空格的,否则还是运行还是有问题的。)也能输出正确结果:

D:\pro>javac -d . TestJava.java
D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

2、 cmd窗口运行时出现乱码问题:

因为我们的系统大多是中文系统,而不少编程软件都是英文编译环境,所以,当运行含有中文的代码时,容易出现乱码问题,这时候需要改变代码的编码就行了。

D:\pro>javac -d . TestJava.java
TestJava.java:4: 错误: 编码GBK的不可映射字符
 * @date Time: 2016骞?4鏈?22鏃ヤ笅鍗?3:07:49
          ^
TestJava.java:4: 错误: 编码GBK的不可映射字符
 * @date Time: 2016骞?4鏈?22鏃ヤ笅鍗?3:07:49
            ^
TestJava.java:4: 错误: 编码GBK的不可映射字符
 * @date Time: 2016骞?4鏈?22鏃ヤ笅鍗?3:07:49
               ^
3 个错误

所以这个时候需要改变中文的gbk 编码为utf-8编码:

代码:java -encoding UTF-8 TestJava.java

D:\pro>javac -encoding UTF-8 -d . TestJava.java
D:\pro>java org.test.TestJava
Hello World!!!
你好,Java!!

从上面的代码也可以看出来,当程序既带有包,且还编码不对时,我们也可以一次性解决。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

更多精彩内容其他人还在看

Spring Boot 配置 IDEA和DevTools 热部署的方法

这篇文章主要介绍了Spring Boot 配置 IDEA和DevTools 热部署的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot使用Redis缓存的实现方法

这篇文章主要介绍了SpringBoot使用Redis缓存的实现方法,需要的朋友可以参考下
收藏 0 赞 0 分享

SpringBoot中自定义参数绑定步骤详解

这篇文章主要介绍了SpringBoot中自定义参数绑定步骤详解,非常不错,具有参考借鉴价值 ,需要的朋友可以参考下
收藏 0 赞 0 分享

Java实现abc字符串排列组合

这篇文章主要为大家详细介绍了JAVA实现abc字符串的排列组合,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java中后台线程实例解析

这篇文章主要介绍了Java中后台线程实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

ehcache模糊批量移除缓存的方法

本篇文章主要介绍了ehcache模糊批量移除缓存的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Java多线程join方法实例代码

这篇文章主要介绍了Java多线程join方法实例代码,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

java实现字符串排列组合问题

这篇文章主要为大家详细介绍了java实现字符串排列组合问题,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
收藏 0 赞 0 分享

Java排列组合字符串的方法

这篇文章主要介绍了Java排列组合字符串的方法
收藏 0 赞 0 分享

Java语言中的自定义类加载器实例解析

这篇文章主要介绍了Java语言中的自定义类加载器实例解析,分享了相关代码示例,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多