Java找不到或无法加载主类及编码错误问题的解决方案
作者:gavenyeah 发布时间:2021-08-01 03:43:10
标签: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!!
从上面的代码也可以看出来,当程序既带有包,且还编码不对时,我们也可以一次性解决。
来源:https://blog.csdn.net/y999666/article/details/51220494


猜你喜欢
- 一、整合原理二、导包(41个)1.hibernate(1)hibernate/lib/required(2)hibernate/lib/jp
- Android 将view 转换为Bitmap出现空指针问题解决办法在做Android 项目的时候,有时候可能有这样的需求,将一个View
- LocalDateTime 是 Java 8 中日期时间 API 提供的一个类,在日期和时间的表示上提供了更加丰富和灵活的支持。LocalD
- IntelliJ IDEA 2022.2为远程开发功能带来了多项质量改进,使其更美观、更稳定。从 v2022.2 开始,IntelliJ I
- 本文实例讲述了Android双击退出的实现方法。分享给大家供大家参考。具体实现方法如下:方式一:重写onBackPressed方法直接监听返
- Spring概述Spring就是为解决企业应用开发的复杂性而创建的,做为开源中间件,它使用基本的JavaBean来完成以前只可能有EJB(J
- java中有关单链表反转的方法有很多种,这里记录一种并附上详细步骤:代码如下/** * Definition for singly
- 1. 安装JDK解释: JDK是Java编写环境--开发环境注: 安装路径不可出现中文及标点符号。比如:D:\Java\jdk81.1 下载
- Java音频播放,因为必须依赖到本地环境,所以JAVA在音频处理方面优势不大,或者说打从Java体系开发时就没太多的考虑音频播放
- Java8对于LocalDateTime的序列化和反序列化这里以jackjson为例配置反序列化工具/** * 时间戳反序列化时间 * *
- Java基本类型与byte数组之间相互转换,刚刚写的package cn.teaey.utils;import java.nio.chars
- Jackson,我感觉是在Java与Json之间相互转换的最快速的框架,当然Google的Gson也很不错,但是参照网上有人的性能测试,看起
- 重写addResourceHandlers映射文件路径在看一个博客源码发现页面的图片所映射的地址在SpringBoot静态资源文件夹下找不到
- 今天看到一篇好的文章,分享给大家,膜拜大佬。Android10填坑适配指南,包含实际经验代码,绝不照搬翻译文档1.Region.Op相关异常
- 什么是banner组件?在许多Android应用上,比如爱奇艺客户端、百度美拍、应用宝等上面,都有一个可以手动滑动的小广告条,这就是bann
- 本文介绍了最好的Java5种遍历HashMap数据的写法,分享给大家,也给自己留一个笔记,具体如下:通过EntrySet的迭代器遍历Iter
- 背景现行的文本编辑器大多都具备文本查询的能力,但是并不能直观的告诉用户两段文字的细微差异,所以对比工具在某种情况下,就起到了很便捷的效率。关
- 一、方法的定义1.方法体中最后返回值可以使用return, 如果使用了return, 那么方法体的返回值类型一定要指定2.如果方法体重没有r
- 自定义封装StringUtils常用工具类,供大家参考,具体内容如下package com.demo.utils;import java.u
- 目录开始准备开始动画画圆弧项目使用背景图完整代码今天介绍一个很简单的倒计时动画,仿酷狗音乐的启动页倒计时效果,也是大多数APP在用的一个动画