• 【Java】编码GBK的不可映射字符 找不到符号 找不到或无法加载主类


    命令行运行 Java 程序时遇到了几个问题:

    1. javac 命令编译时报错:编码GBK的不可映射字符。
    2. javac 命令编译时报错:找不到符号。
    3. java 命令运行时报错:找不到或无法加载主类。

    我可以确认代码是没有问题的,Java 配置环境也是没有问题的。

    每个人出现问题的原因可能不同,下面是我出现这几个错误的原因以及解决方法,用以参考:

    编码GBK的不可映射字符

    解决方法:javac 命令后添加 -encoding UTF-8 。如下:

    javac -encoding UTF-8 文件名
    

    找不到符号

    错误原因: 程序有多个文件,并且在主程序中创建了其他类的实例,而编译时命令中只有主程序,导致编译器无法识别主程序中用到的其他类。

    解决方法: 同时编译所有 Java 源代码文件。如下:

    javac -encoding UTF-8 *.java
    

    命令含义是编译当前文件夹下所有后缀为 ".java" 的文件。

    找不到或无法加载主类

    错误原因: 通常 Java 文件第一行都是包名,编译没有问题,但如果在 Java 文件所在目录执行 java 命令运行程序,就会报这个错误。

    解决方法: 需要退至包所在的文件夹下运行。假设包所在文件夹是 dir,包名是 com,那么需要退至 dir 文件夹,执行如下命令:

    java com.主类名
    

    注意:需要写明完整的包结构。

  • 相关阅读:
    项目中常用的19条MySQL优化技巧
    集群的session问题解决方案
    nginx实现多个域名共享80端口
    spring-boot-maven-plugin多模块install问题解决办法
    JAVA-基础(十) Swing
    JAVA-基础(六) Java.serialization 序列化
    JAVA-基础(六) Java.io
    JAVA 基础--开发环境IDEA 搭建
    JAVA-基础(五) 更多工具集
    JAVA-基础(四) Aarryas 数组
  • 原文地址:https://www.cnblogs.com/ME-WE/p/12494876.html
Copyright © 2020-2023  润新知