`

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错误

相关推荐

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

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

    命令行编译和运行java类

    不借助任何编译,运行工具在DOS下编译和运行java程序

    java命令行编译基础知识

    cmd命令行大全,比较全的命令行指令,适合初学,入门的不错的资料。

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

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

    java命令行辅助工具

    java小程序编译和运行。 批处理……

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

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

    Java 命令行运行参数大全

    Java在运行已编译完成的类时,是通过java虚拟机来装载和执行的,java虚拟机通过操作系统命令JAVA_HOME"bin"java –option 来启动,-option为虚拟机参数,JAVA_HOME为JDK安装路径,通过这些参数可对虚拟机的运行状态...

    Java快速编译工具

    Java快速编译工具,解救你于繁琐的命令行编译之中! 适用范围:快速编译较为简单的Java项目,目的在于将初学者从复杂的命令行编译中解放出来; 优点:本程序不需要用户手动敲击CMD命令,只需在图形界面上用鼠标点击...

    关于java在cmd命令行的编译和运行问题

    关于java在cmd命令行的编译和运行问题的解决方法 典型的java.lang.ClassNotDefFoundError异常的解决方案 和配置classpath需要注意的问题

    3dmax插件神器-007-通道渲染.mse

    3dmax插件神器-007-通道渲染.mse

    java反编译工具jad

    在众多的JAVA反编译工具中,有几种非常著名的工具...JAD是使用Microsoft Visual C++开发的,运行速度非常快,可以处理很复杂的JAVA编译文件。众多的参数使JAD可以灵活应付多种加密手段,令反编译的代码更加优化和易读。

    命令行中的java五子棋小游戏

    java五子棋小游戏 请在命令行中编译运行FSGame.java文件

    用命令行编译java并生成可执行的jar包方法

    下面小编就为大家分享一篇用命令行编译java并生成可执行的jar包方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

    shell 脚本命令行下编译运行servlet

    用shell写的脚本,用于java web开发时,自动编译运行servlet,速度极快,免除了eclipse慢且不过更新代码和资源的问题。脚本中的路径请自行替换为自己的

    java编译实验包

    这是一个关于java在命令行中编译运行的实验资源。

    jad- java反编译软件

    一个类似于javap的java反编译工具,运行速度快,据说Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decomplier、DJ Java Compiler、NMI's Java Class Viewer等反汇编工具都以jad作为核心引擎,只是在jad内核的...

    java反编译工具(可以集成到eclipse当中)

    然后运行:jad -s java *.class (附,*.class指要反编译的文件名) 如果*.class文件和jad程序不在同一个目录,就要用到path环境变量, 将jad 所在目录加到path路径中即可:set path=%path%;f:\java\jad 若要了解jad...

    Linux环境下通过c代码获取本机IP

    之前用gethostname和gethostbyname获取本机IP地址运行没有问题,把程序部署到另一台机器上出问题了。在网上找了些例子一样用不了。后找了个能用的,创建一个SOCKET然后获取套接字参数。代码如下: #include #...

    Gotta-This#java-study#Java方法 - 04 - 命令行传参1

    一、命令行传参 二、用命令行编译.java文件 三、用命令行运行.classs文件 四、命令行传参操作

    Java反编译工具CFR_110

    CFR 使用方法,在命令行运行。 帮助: java -jar cfr_0_110.jar --help 反汇编一个类: java -jar cfr_0_110.jar SwitchTest.class 反汇编一个包: java -jar cfr_0_110.jar java7_jar.jar --outputdir D:/Java/...

Global site tag (gtag.js) - Google Analytics