`
kgdso
  • 浏览: 87905 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

javac编译问题

 
阅读更多

异常信息:
C:\java>javac Hello.java

C:\java>java Hello

Exception in thread "main" java.lang.NoClassDefFoundError: Hello

Caused by: java.lang.ClassNotFoundException: Hello

        at java.net.URLClassLoader$1.run(URLClassLoader.java:200)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:276)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)

C:\java>

原因:
  当前目录并未在CLASSPATH里面

解决方案:
  使用
C:\java>java -cp . Hello
就可以了。其中的 -cp . 是java的标准参数,等于 -classpath . 也就是把当前目录加入CLASSPATH
我们看一下java的命令行参数,其中
    -cp <class search path of directories and zip/jar files>
    -classpath <class search path of directories and zip/jar files>
                  A ; separated list of directories, JAR archives,
                  and ZIP archives to search for class files.


第二种情况,缺少某个jar里面的类,比如你的程序用到了Abc.jar 则在命令行可以这样运行
c:\java>java -cp.;c:\lib\Abc.jar Hello
如果Abc.jar还依赖别的类库,就继续在后面书写完整的jar路径就行了。

在Windows下面用分号分隔,在Linux下面用冒号分割。

分享到:
评论

相关推荐

    javac 编译出现 软件包 javax.servlet.http 不存在

    NULL 博文链接:https://xjg396.iteye.com/blog/1973026

    javac_可以编译目录.rar

    在 JDK 9 中,javac 进行了一些改进,包括支持以目录作为参数进行编译,这使得批量处理大量源文件变得更加方便。 在 JDK 8 及以前的版本中,如果想要编译一个目录下的所有源文件,你需要列出每一个 .java 文件。但...

    javac源代码,java具体编译步骤

    以下是对`javac`源代码及Java编译步骤的详细解析。 1. **词法分析**:编译的第一步是读取源代码文件,并将其分解为一个个最小的有意义单元——词法单元或标记。这些标记包括关键字、标识符、操作符、常量和分隔符等...

    javac编译成功用java运行class文件出现“找不到或无法加载主类”的问题解决起来很简单.doc

    在 Java 开发中,经常会遇到一个问题,即 javac 编译成功后,用 java 运行 Class 文件却出现“找不到或无法加载主类”的错误信息。这种问题看似很复杂,但实际上解决起来非常简单。下面我们将详细讲解该问题的解决...

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

    ### Java零基础 - 使用javac编译Java程序 在计算机编程领域中,Java是一种广泛使用的高级编程语言,因其跨平台性、安全性以及丰富的类库支持而受到开发者的青睐。对于初学者而言,掌握如何编译Java程序是入门的第一...

    Dos环境下使用javac编译与java执行多个包下的.java文件

    在DOS环境下使用`javac`编译与`java`执行多个包下的`.java`文件是一项常见的Java开发任务。这通常涉及到对项目结构的理解、命令行操作以及掌握Java的编译和运行流程。下面我们将详细讲解这个过程。 首先,我们需要...

    JAVAC动态编译

    `JAVAC`,全称Java Compiler,是Java的标准编译器,它主要用于静态编译Java源代码。但在本文中,我们将探讨如何在运行时使用Java的API进行动态编译,这是Java世界中的一个强大特性。 动态编译在Java中主要通过`...

    java编译的javac.jar

    java编译的javac.jar

    javac 源码 javac 源码

    javac 在编译过程中会检测语法错误、类型不匹配等问题,并生成错误和警告信息。这些信息通过 `com.sun.tools.javac.main.DiagnosticListener` 接口传递给用户。 5. **注解处理**: Java 提供了注解(Annotation)...

    javac 的 源 代 码

    深入理解javac的源代码对于Java程序员来说,不仅能帮助理解编译过程,还能提升编程技能和优化代码的能力。在本文中,我们将探讨javac的工作原理、关键组件以及其在Java开发中的重要性。 一、javac的基本工作流程 1...

    javac源码免费下载

    在深入理解javac源码的过程中,我们可以更好地了解Java语言的编译原理,以及Java平台如何实现跨平台的执行。 源码分析: 1. **词法分析**:javac首先进行词法分析,将源代码分割成一个个的词法单元(如标识符、...

    关于win10下javac无效的问题

    JDK不仅包含运行Java程序所需的Java运行时环境(JRE),还包括用于开发和编译Java应用的工具,如`javac`。你可以访问Oracle官方网站下载最新版本的JDK,并按照安装向导的指示进行安装。 其次,`javac`命令的执行...

    java与javac命令详解

    javac 命令用于编译 Java 程序源代码,生成字节码文件,而 java 命令用于执行已经编译的字节码文件。 javac 命令的语法为:javac [option] source 其中,option 是可选项,可以包括以下选项: * -classpath &lt;路径...

    javac源码和运行说明文件.zip

    - 使用Eclipse的调试功能,可以设置断点、单步执行,观察javac编译过程中的内部状态。 5. **学习研究**: - 通过阅读源码,了解javac如何处理语法错误、类型检查以及优化过程。 - 分析特定功能的实现,如注解...

    编译原理课程设计(javac)

    编译原理课程设计,关于javac源代码的分析。对于词法分析,语法分析,有详细的解释。

    javac--------src

    5. **错误和警告处理**:javac在编译过程中会检测并报告语法错误、类型错误以及其他问题,这些错误信息的处理是编译过程中的重要部分。 6. **优化**:除了基本的编译任务,javac还可能包含一些优化策略,如 dead ...

    Using the ant javac adapter

    在大型项目中,为了自动化编译过程,开发者通常会使用Ant结合Javac。 首先,让我们详细了解一下Ant。Ant是一个跨平台的构建工具,它的主要任务是读取名为build.xml的XML文件,该文件定义了构建过程中的各种任务,如...

    jocky 混淆编译 ant

    4. 当设置jocky的enable属性为true时,此时,Ant脚本中的javac编译命令,便会被自动替换成Jocky编译器;当设置enable属性为false时,javac编译命令将恢复成正常设置 二、jocky for eclipse 1. 将org.apusic.jocky_...

Global site tag (gtag.js) - Google Analytics