`

在CMD下对Java程序的调试

    博客分类:
  • java
阅读更多
问题1:在Eclipse下可以正确的编译运行,在CMD下到了源文件夹下,可以正确的编译,但用java命令运行时,一直报Main主线程异常,说找不到类?
解答:这和classpath的设置有关系,在执行java命令时,首先会查找系统变量里classpath中是否找到类,找不到就会报错,有两种解决方案:1把你当前的目录加入到classpath中;2使用 -classpath选项指定类存放的路径。

问题2:javac -version 和 java -version 两个版本不一样的问题?
今天在CMD下编译程序忽然发现两个命令出来的版本号是不一样,当然,我机器本身安装了多个版本的jdk,javac使用的是环境变量JAVA_HOME所指定的版本,java命令使用的另一个版本,原来是在使用exe文件安装JDK时在注册表里添加了JAVA_HOME注册项,而java会优先选用注册表里面的,因此要和系统变量里面的统一,需要修改Windows Registry (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment)下的JAVA_HOME键值和RunTimeLib(重要)键值

java命令简介:
当我们在命令行输入:
Java(javac) XXX
的时候,java.exe(javac.exe)的工作就是找到合适的JRE来执行类文件。java.exe(javac.exe)依照如下逻辑来寻找JRE:

自己的目录下有没有JRE目录(这么说并不是非常精确,原因请详见JDK源代码,在此不作特别说明); 
父目录下的JRE子目录; 
查询Windows Registry (HKEY_LOCAL_MACHINE\Software\JavaSoft\Java Runtime Environment); 
所以,java.exe(javac.exe)的执行结果和“您计算机里面哪一个java.exe被执行,然后哪一套JRE被拿来执行java应用程序”有莫大的关系。

可用参数-verbose来大致查看调用的JRE的路径
2
2
分享到:
评论

相关推荐

    java模拟cmd控制台 java教学小程序

    在Java中,模拟CMD控制台的关键在于理解和使用Java的`System.out.println()`和`Scanner`类。`System.out.println()`用于输出信息到控制台,而`Scanner`则用于从控制台读取用户输入。以下是涉及的一些核心知识点: 1...

    8种启动java程序的方法

    如果Java程序被打包成一个JAR文件,并且该JAR文件包含了一个主类(即在MANIFEST.MF文件中定义了`Main-Class`),则可以直接使用 `-jar` 选项启动。例如: ``` java -jar hello-world.jar ``` 这种方式是最常见的部署...

    Java通过进程名称杀进程

    - JRE是Java应用程序运行时环境的基础部分,包含了Java虚拟机(JVM)、类库以及运行Java程序所需的其他支持组件。 - `Runtime.getRuntime()`方法可以获得当前Java应用程序的`Runtime`实例,从而执行操作系统级别的...

    输出测试java入门程序

    在这个例子中,`HelloWorld`类是Java程序的基本单元,`main`方法是程序的入口点。当运行Java程序时,JVM(Java虚拟机)会从`main`方法开始执行。`System.out.println()`则负责打印出字符串"Hello, World!",这是许多...

    Java零基础 - 第一个Java程序.md

    - **Windows系统**:在Windows系统中,可以通过打开命令提示符(cmd)来进行编译和运行Java程序。需要注意的是,在编译和运行程序之前,必须确保已经安装了Java Development Kit (JDK) 并正确配置了环境变量。 - *...

    Java零基础 - 使用javac编译Java程序.md

    - **集成开发环境(IDE)**:虽然使用命令行编译Java程序是一个很好的学习过程,但在实际开发中,大多数开发者会选择使用集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。这些工具不仅简化了编译过程,还提供了诸如...

    Java语言编写的定时关机程序

    Java语言在编程领域有着广泛的应用,特别是在开发桌面应用和服务器端程序方面。在这个特定的案例中,我们讨论的是一个使用Java编写的定时关机程序。这个程序的主要目标是实现计算机在预设时间自动关闭的功能,这在...

    DOS环境下带有自定义包的java程序的编译与运行

    在DOS环境下编译和运行带有自定义包的Java程序是一项基础但重要的技能,尤其对于初学者来说。本文将详细讲解这个过程,并提供一些关键点和注意事项。 首先,理解Java的包(Package)机制至关重要。包是Java的一种...

    开发中遇到的问题+Java+CMD+接口乱码解决方法

    然而,在CMD环境下运行Java程序时可能会遇到一个令人头疼的问题——接口返回结果出现乱码。这种现象不仅影响了程序的正常运行,还可能导致数据处理错误,增加调试难度。 #### 二、原因分析 在深入探讨解决方案之前...

    Java_Cmd_Para.rar_java_para

    "Java_Cmd_Para.rar_java_para"这个压缩包显然包含了全面的Java命令参数说明,对于Java开发者来说,这是一个非常有价值的资源。 Java命令行参数通常分为两种类型:标准选项(也称为JVM选项)和应用程序选项。标准...

    右键添加CMD命令

    在日常开发工作中,开发者经常需要使用命令行来执行构建、部署、调试等任务,而“CMD Here”功能可以快速定位到所需的文件夹,避免了反复手动切换目录的繁琐。 至于压缩包内的文件`CMD_Here2.reg`,它可能是一个...

    测试JAVA安装成功与否的小程序

    3. 配置环境变量:为了能够在命令行中直接运行Java程序,需要配置两个环境变量——`JAVA_HOME`和`Path`。`JAVA_HOME`应指向JDK的安装目录,`Path`则需要包含`%JAVA_HOME%\bin`,这样系统就能找到Java的可执行文件。 ...

    dos命令测试java jar文件 命令行下运行JUnit测试 命令运行java

    在IT行业中,尤其是在Java开发领域,经常需要在命令行环境下执行各种操作,如测试、打包、部署等。这里我们主要探讨如何使用DOS命令来测试Java JAR文件,以及如何在命令行下运行JUnit测试。这是一项基础但至关重要的...

    Java 之路(一)cmd

    开发工具IDEA:使用IntelliJ IDEA这一集成开发环境进行Java程序的开发,学习如何新建项目、运行调试、界面配置和插件管理。 c. Java基础语法:涉及Java编程中最基础的语法规则,包括数据类型、流程控制(如if-...

    JAVA环境配置

    在安装了JDK后,需要设置环境变量以便正确地编译和运行JAVA程序。环境变量是操作系统中的一种机制,它允许用户定义变量以供程序使用。在JAVA环境配置中,我们需要设置三个环境变量:JAVA_HOME、Path和Classpath。 1...

    Java的jdk以及所需文件【cmd.exe】

    直接可以在本文件夹下使用cmd运行Java和编译Java文件并执行Java程序或是调试Java程序,并且不会影响到其他目录或是干扰到其他程序文件或是重要的加密文件,切可以更快的打包并发送出去或是分享给其他人,特性:方便...

    java画图应用程序[归纳].pdf

    6. **环境配置**:运行Java程序需要JDK环境,设置`CLASSPATH`和`PATH`环境变量以确保Java编译器和运行时环境能找到。在Windows上,可以使用命令行工具(如cmd.exe)或集成开发环境(IDE,如JCreator、Eclipse、...

    JAVA连接打印机打印小票

    首先,你需要了解打印机支持的POS指令集,如ESC/POS命令集,然后在JAVA程序中创建一个字节流,填充这些命令,最后通过socket或文件流等方式将数据发送到打印机。例如,打印文本可以使用"ESC + @"初始化打印机,"GS +...

    java程序设计基础 安装jdk教程

    它包含了编译、调试和运行Java程序所需的全部软件工具。对于学习和从事Java编程的人员来说,正确安装并配置JDK是非常重要的一步。 #### 二、JDK下载与安装 1. **下载JDK**: - 访问Oracle官方网站:...

    编程——Java

    集成开发环境(IDE)如Eclipse、IntelliJ IDEA等,通过提供代码自动补全、调试、版本控制集成等功能,极大地简化了Java程序的开发过程。掌握一个好用的IDE,对于提高编程效率和代码质量是非常有帮助的。 最后,编程...

Global site tag (gtag.js) - Google Analytics