`

java命令行编译 运行JAVA类

阅读更多

以下废弃 参见 http://www.cnblogs.com/pengxl/archive/2010/12/10/1902082.html

备注:

把java命令下的如下命令行做修改:

 原:

在/test目录下运行编译后的Test程序:

java -classpath ./classes Test

修改 :

<!--StartFragment -->


 

 

例子 1

 

  • 示例代码
  • package com.Javasoft;
    public class Hello{
    	public static void main(String[] args){
    		System.out.println("Hi ?");
    	}
    }
    
  • 目录结构

          mytestproject

                                |--  SRC

                                            |-- com

                                                        |--Javasoft

                                                                         |-- Hello.java

  • 编译开始

            进入命令窗口

             D:\mytestproject>javac -d classes src/com/Javasoft/Hello.java

             D:\mytestproject>

  • 运行

        D:\mytestproject>cd classes

        D:\mytestproject\classes>java com.Javasoft.Hello

        Hi ?

        D:\mytestproject>

 

 

 例子 2

  • 示例代码

   

package com.Javasoft;
import java.io.PrintStream;
import com.kettas.common.*;
public class HelloInput{
	public static void main(String[]args){
		System.out.println("Hi ,what will you say? :");
		String str = com.kettas.common.SystemIn.readString();
		System.out.println("You just told me that:");
		System.out.println(str);
	}
}

  备注: HelloInput类,编译运行都依赖额外JAR文档(见附件)。

 

  •   下面是编译以及 运行都通过的方法

           将所依赖的JAR文档(kettas_common.jar)添加至环境变量 CLASSPATH之下

 

           变量名:CLASSPATH

           变量值:.;%JAVA_HOME%\lib;D:\mytestproject\lib\kettas_common.jar

            

           然后运行

           D:\mytestproject>cd classes

           D:\mytestproject>classes>java com.Javasoft.HelloInput

          

 

  •  下面是一次简单的尝试 编译成功 运行失败

          

      将依赖的JAR copylib目录 D:\mytestproject\lib\kettas_common.jar

      编译:

     

D:\>cd mytestproject

D:\mytestproject>cd classes

D:\mytestproject\classes>java com/Javasoft/HelloInput.java
Exception in thread "main" java.lang.NoClassDefFoundError: com/Javasoft/HelloInp
ut/java
Caused by: java.lang.ClassNotFoundException: com.Javasoft.HelloInput.java
        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:307)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:252)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:320)
Could not find the main class: com/Javasoft/HelloInput.java.  Program will exit.
   

  • 下面是另一种尝试 成功运行

 

      将运行需用的SystemIn.class 文件拷贝至classes目录下

      新结构如下

       D:program\mytestproject

 

                            |--- classes

                                      |---Javasoft

                                               |-- com

                                                    |---.....

                                      |--kettas

                                               |--com

                                                                                                        |----.........

 

      D:\mytestproject\classes\java com.Javasoft.HelloInput

      技能成功运行

  • 大小: 77.3 KB
  • 大小: 4.1 KB
分享到:
评论
2 楼 cici_new_1987 2018-08-24  
zranye 写道
美女,我没搞定诶。指点一下么?
老是报Exception in thread "main" java.lang.NoClassDefFoundError错误

我也是 还是参考这个文章吧
https://jingyan.baidu.com/article/14bd256e2e3e0cbb6d261201.html
1 楼 zranye 2012-02-11  
美女,我没搞定诶。指点一下么?
老是报Exception in thread "main" java.lang.NoClassDefFoundError错误

相关推荐

    java命令行编译说明

    在Java命令行编译和运行过程中,理解并正确处理包、类的相对路径以及`classpath`的设置,对于构建复杂的Java应用程序至关重要。虽然这可能比使用IDE时更显繁琐,但它帮助开发者深入理解Java编译和运行的底层机制,...

    java命令行编译基础知识

    Java 命令行编译基础知识 Java 命令行编辑的基础知识是 Java 开发的基础之一。本文将从 Java 命令行编辑的基础知识入手,逐步讲解 Java 编程语言的基本结构和基础知识。 一、 Java 命令行编辑的基础知识 Java ...

    java命令行编译全

    在Java编程中,命令行编译是学习和工作...总之,理解Java的命令行编译和运行机制,特别是涉及到包和类路径的概念,对于任何Java开发者来说都是基础且必要的技能。正确设置和管理类路径,能够确保程序的顺利编译和运行。

    命令行编译和运行java类

    ### 命令行编译和运行Java类 在日常的软件开发过程中,开发者经常会遇到需要在命令行环境下编译和运行Java程序的情况。本文将详细介绍如何在DOS(Disk Operating System)环境下,通过命令行工具编译和运行Java程序...

    c/c++与java命令行编译配置脚本

    这是一系列的bat脚本,用于快速创建C、C++和JAVA命令行编译与运行环境。bat脚本自身并不能执行编译,必须依赖对应的编译套件。相对于庞大的IDE来说,命令行方式要轻快得多,非常适合教学与验证一些算法。

    使用命令行编译打包运行自己的MapReduce程序 Hadoop2.6.0

    #### 使用Eclipse编译运行MapReduce程序 虽然使用命令行工具来编译和运行MapReduce程序是一种常见的做法,但是对于频繁的开发和调试工作,使用IDE(如Eclipse)可以大大提高效率。 在Eclipse中,可以轻松地管理...

    java命令行辅助工具

    总结来说,Java命令行辅助工具是一个实用的开发工具,它通过自动化Java源代码的编译和运行,减少了开发者在命令行上的操作,提升了开发效率。对于初学者和频繁进行命令行操作的开发者来说,这样的工具无疑是一个很好...

    java代码命令行编译在手机上运行的示例

    java代码命令行编译在手机上运行的示例。 chcp 65001 javac -encoding utf-8 ./org/test/TestJava.java dx --dex --output =D:\pro\TestJava.dex .\org\test\TestJava.class

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

    在命令行下运行Java JAR文件,可以使用以下命令: ```bash java -jar jar_file_name.jar ``` 这里的`-jar`选项告诉Java虚拟机(JVM)直接从JAR文件中加载主类并执行。 接下来,我们讨论如何在命令行下运行JUnit...

    Java 命令行工具

    总结来说,Java命令行工具是Java开发的基础,涵盖了从编写、编译到运行的整个流程。熟练掌握这些工具及其用法,对于Java开发者来说是必不可少的技能。同时,利用Shell脚本自动化这些任务,可以极大地提升开发效率和...

    Java 命令行以及Java工具总结

    它可以查看Java类文件的内部结构,如方法和字段。 10. extcheck:用来检测JAR文件冲突的工具。 二、安全工具(Security Tools) 1. keytool:管理密钥库和证书的工具。密钥库用于存储私钥和数字证书,是Java安全...

    java 动态编译.java文件,动态运行类

    首先,Java的`javac`命令行工具是用于编译Java源代码的标准方式,但在程序中实现动态编译则需要使用`javax.tools`包中的接口和类。这个包提供了一组API,允许我们直接在程序中进行编译操作,而无需调用外部的`javac`...

    Java程序设计基础:使用命令行方式开发Java程序.pptx

    使用命令行方式开发Java程序 使用命令行方式开发Java程序 Java程序的运行机制 了解Java程序的运行机制 掌握使用命令行方式开发Java程序的步骤 Java程序的运行机制 编写源程序 编译源程序 由Java解释器解释运行 字节...

    Java 命令行应用开发

    首先,开发Java命令行应用需要对Java编程基础有深入理解,包括类、对象、数据类型、控制结构(如循环和条件语句)、异常处理等。这些是所有Java程序的基础,无论其是否运行在命令行环境。 其次,要创建命令行应用,...

    java代码快捷编译运行工具

    Java代码快捷编译运行工具是针对初学者设计的一款实用程序,旨在简化Java编程过程中常见的编译和运行步骤。对于刚接触Java编程的开发者来说,通过命令行(CMD)进行源码的javac编译和java运行可能会感到繁琐,而这款...

    java命令行文件管理器

    【Java命令行文件管理器】是一种轻量级的文件操作工具,它专为那些喜欢或者需要在纯文本环境中工作的用户设计。这个管理器利用Java语言的强大功能,通过命令行界面提供了一系列基本的文件和目录操作,如复制、移动、...

    java编译和运行

    Java Development Kit (JDK)包含了开发和运行Java程序所需的所有工具,包括JVM(Java Virtual Machine)和Java Runtime Environment (JRE)。JRE是运行已编译Java程序的必备组件,而JDK则增加了编译器和其他开发工具...

    java反编译工具

    JAD是另一个知名的Java反编译工具,它提供命令行接口,适合于自动化脚本或者集成到其他工具链中。FernFlower则是一个开源的反编译器,它的反编译效果通常较好,但可能需要更多的配置和调试。 需要注意的是,反编译...

Global site tag (gtag.js) - Google Analytics