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

 更新时间:2019年02月18日 14:25:21   作者:gavenyeah  
今天小编就为大家分享一篇关于Java找不到或无法加载主类及编码错误问题的解决方案,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

先给出具体代码(当前目录为: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!!

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

总结

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

相关文章

  • 详解mybatis如何实现进行分表

    详解mybatis如何实现进行分表

    在数据库设计中,分表是一种常见的优化策略,它可以将一个大表拆分成多个小表,以提高查询性能和存储效率,下面我们就来学习一下mybatis如何实现进行分表吧
    2023-11-11
  • Springboot中useGeneratedKeys用法小结

    Springboot中useGeneratedKeys用法小结

    本文主要介绍了Springboot中useGeneratedKeys用法小结,useGeneratedKeys 是 MyBatis 框架中的一个参数,用于指定是否允许 JDBC 支持自动生成主键,感兴趣的可以了解一下
    2024-09-09
  • 如何在SpringBoot 中使用 Druid 数据库连接池

    如何在SpringBoot 中使用 Druid 数据库连接池

    这篇文章主要介绍了SpringBoot 中使用 Druid 数据库连接池的实现步骤,帮助大家更好的理解和学习使用SpringBoot,感兴趣的朋友可以了解下
    2021-03-03
  • SpringAop中AspectJ框架的切入点表达式

    SpringAop中AspectJ框架的切入点表达式

    这篇文章主要介绍了SpringAop中AspectJ框架的切入点表达式,AspectJ是一个基于Java语言的AOP框架,Spring2.0以后新增了对AspectJ切点表达式支持,@AspectJ 是AspectJ1.5新增功能,通过JDK5注解技术,允许直接在Bean类中定义切面,需要的朋友可以参考下
    2023-08-08
  • Java实现用Freemarker完美导出word文档(带图片)

    Java实现用Freemarker完美导出word文档(带图片)

    这篇文章主要介绍了Java实现用Freemarker完美导出word文档(带图片),具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-07-07
  • 解决String字符串转JSONObject顺序不对的问题

    解决String字符串转JSONObject顺序不对的问题

    这篇文章主要介绍了解决String字符串转JSONObject顺序不对的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • Java提示缺少返回语句的解决办法

    Java提示缺少返回语句的解决办法

    在本篇文章里小编给大家分享了关于Java提示缺少返回语句的解决办法以及相关知识点,需要的朋友们参考下。
    2019-07-07
  • MyBatis-Puls插入或修改时某些字段自动填充操作示例

    MyBatis-Puls插入或修改时某些字段自动填充操作示例

    这篇文章主要为大家介绍了MyBatis-Puls插入或修改时某些字段自动填充操作示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-12-12
  • Java使用Thread创建多线程并启动操作示例

    Java使用Thread创建多线程并启动操作示例

    这篇文章主要介绍了Java使用Thread创建多线程并启动操作,结合实例形式分析了Java基于Thread类的多线程定义与启动简单操作技巧,需要的朋友可以参考下
    2018-06-06
  • SpringBoot关闭druid的页面和添加密码验证方式

    SpringBoot关闭druid的页面和添加密码验证方式

    这篇文章主要介绍了SpringBoot关闭druid的页面和添加密码验证方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论