`

在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...

    输出测试java入门程序

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

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

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

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

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

    在安装了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开发环境搭建

    本文主要介绍了如何在Windows操作系统上配置Java开发环境,包括下载和安装Java JDK,配置环境变量,以及编写并运行一个简单的Java程序。 首先,Java JDK(Java Development Kit)是开发Java应用程序的基础,它包含...

    senchacmd-5.1.3

    Sencha Cmd 是一个强大的命令行工具,主要用于帮助开发者构建、测试和部署基于Sencha Touch和Ext JS的应用程序。它提供了一系列自动化任务,如代码生成、编译、压缩、打包等,极大地提升了开发效率。在本篇文章中,...

    java——jdk1.8

    5. **编译与运行Java程序**:通过JDK中的`javac`命令,可以将编写好的`.java`源代码编译成`.class`字节码文件。例如,`javac HelloWorld.java`会编译名为`HelloWorld.java`的源文件。之后,使用`java`命令运行编译后...

    Java jdk的安装方法

    为了编写Java程序,可能还需要安装一个集成开发环境(IDE),如Eclipse或IntelliJ IDEA,它们提供了图形化的代码编辑、构建和调试功能,使得开发更加便捷。在IDE中,Java环境通常是自动检测和配置的,但如果你遇到...

    java在windowsxp的运行基础

    JDK是Java编程语言的软件开发平台,包含了编译器、调试器、文档生成工具等,是开发和运行Java程序的基础。 首先,我们需要下载适合Windows XP操作系统的JDK版本。在本例中,我们有`jdk1.7.0_06`,这是Java 7的一个...

    xp下设置Java运行的环境变量.doc

    在Windows XP操作系统中,安装Java开发工具包(JDK)后,为了能够正常运行Java程序,需要设置系统环境变量。这个过程涉及到三个关键的环境变量:JAVA_HOME, PATH, 和 CLASSPATH。下面是详细步骤和解释: 1. **JAVA_...

    疯狂java光盘内容

    相应的Java程序,例如DatabaseMetaDataTest.java对应的*.cmd文件为 runDatabaseMetaDataTest.cmd。 (4) 光盘根目录下提供了一个“Java设计模式(疯狂Java联盟版).chm”文件,这是一份 关于设计模式的电子教材...

    运行jar程序时添加vm参数的方法

    在Java开发中,有时我们需要对运行的JAR程序进行一些高级配置,比如调整虚拟机(JVM)的堆内存大小,开启远程监控等。本文将详细介绍如何在运行JAR程序时添加虚拟机(VM)参数。 首先,让我们理解什么是VM参数。VM...

    JAVA连接打印机打印小票

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

Global site tag (gtag.js) - Google Analytics