备注:

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

 原:

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

java - classpath . / classes Test

修改 :

<!--StartFragment -->


命令行运行 两个java文件 命令行运行java类_java


例子 1

 

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

          mytestproject

                                |--  SRC

                                            |-- com

                                                        |--Javasoft

                                                                         |-- Hello.java

  • 编译开始

            进入命令窗口

javac -d classes src/com/Javasoft/Hello.java

D:\mytestproject>

  • 运行

cd 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.ja

           然后运行

cd classes

java com.Javasoft.HelloInput

 

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

          

JAR包 copy至lib目录 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

      技能成功运行