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

作者:gavenyeah 时间:2021-08-01 03:43:10 

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

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

来源:https://blog.csdn.net/y999666/article/details/51220494

标签:java,无法加载主类,编码错误
0
投稿

猜你喜欢

  • C++内存模型与名称空间概念讲解

    2023-07-15 03:43:43
  • Android选择图片或拍照图片上传到服务器

    2022-12-15 01:48:41
  • c#二维码生成的代码分享

    2022-11-28 15:19:37
  • 使用C#中的Flags特性

    2023-09-15 22:21:22
  • 如何用IDEA调试BUG的几种方法

    2022-08-04 17:12:46
  • 利用POI生成EXCEL文件的方法实例

    2023-11-23 21:44:14
  • Android Studio实现进度条效果

    2021-10-12 05:37:17
  • Unity3D开发实战之五子棋游戏

    2023-06-01 12:25:56
  • java实现创建临时文件然后在程序退出时自动删除文件

    2023-02-15 18:27:00
  • Unity3D Shader实现扫描显示效果

    2023-03-16 22:51:39
  • 详解IDEA启动多个微服务的配置方法

    2023-11-24 09:22:24
  • GraalVM系列Native Image Basics静态分析

    2023-08-08 03:05:38
  • Android 通知的基本用法示例代码

    2022-09-28 03:54:50
  • 基于C#实现的屏幕指定区域截屏代码

    2021-12-31 19:42:09
  • 对int array进行排序的实例讲解

    2021-12-09 06:51:15
  • Android多媒体之VideoView视频播放器

    2023-11-12 14:38:35
  • c# 实现语音聊天的实战示例

    2021-11-18 06:29:20
  • Java中一些基础概念的使用详解

    2023-07-30 23:35:23
  • Java中EnvironmentAware 接口的作用

    2023-04-15 16:11:12
  • C# 拼图魔方小游戏

    2023-10-27 20:41:22
  • asp之家 软件编程 m.aspxhome.com