其所在的目录.
2, 在任何时候, 类名必须带有完全的包名,
3, "." 当前目录最好在你的类路径中.
下面是一些常见的编译和运行的模式.
4. To compile HelloWorld.java app in the default package in C:\MyDir, use
CD \MyDir
C:\jdk1.3\bin\Javac.exe -classpath . HelloWorld.java
5. To run a HelloWorld.class app, in the default package in C:\MyDir, use
CD \MyDir
C:\jdk1.3\bin\Java.exe -classpath . HelloWorld
6. To run a HelloWorld.class app, in the default package in a jar in C:\MyDi
r, uuse
CD \MyDir
C:\jdk1.3\bin\Java.exe -classpath HelloWorld.jar HelloWorld
7. To compile a HelloWorld.java app in C:\MyPackage, in package MyPackage, u
se
CD \
C:\jdk1.3\bin\Javac.exe -classpath . MyPackage\HelloWorld.java
8. To run a HelloWorld.class app in C:\MyPackage, in package MyPackage, use
CD \
C:\jdk1.3\bin\Java.exe -classpath . MyPackage.HelloWorld
9. To run a HelloWorld.class app in C:\MyPackage, in a jar in package MyPack
age,, use
CD \MyDir
C:\jdk1.3\bin\Java.exe -classpath HelloWorld.jar MyPackage.Hello
Worl
(注: default package 指的是在程序中不指定任何包).
最后一个小小的建议, 把 sun 的 jdk tools documentation 好好地看一看,
把 jdk 的那些工具 java javac javadoc jar javap jdb......好好用一用, 会
有好处的. The Simplest Is The Best.
参考文献:
Java Tools Documentation.
Java Glossary http://mindprod.com/
adding: pktest/PackageTest.class(in = 1041) (out= 602)(deflated 42%)
[classes]$ java -jar mypackage.jar
Value of PackageTest is This is a Test Package
Value of PackageSecond is I am in PackageTest
Value of PackageSecond is I am in subpackage.
Value of PackageSub is I am in PackageTest
好了, 成功了, 这样就做好了一个可以直接执行的 .jar 文件. 大家可以自己试一
试
做一个以 Main 为主程序的可执行的 jar.
”也有可能是java时把.java带进去了“ 肯定没这么做。
源码是《Thinging in JAVA》第二章的一个范例:
//: c02:HelloDate.java
// From 'Thinking in Java, 3rd ed.' (c) Bruce Eckel 2002
// www.BruceEckel.com. See copyright notice in CopyRight.txt.
import java.util.*;
/** The first Thinking in Java example program.
* Displays a string and today's date.
* @author Bruce Eckel
* @author www.BruceEckel.com
* @version 2.0
*/
public class HelloDate {
/** Sole entry point to class & application
* @param args array of string arguments
* @return No return value
* @exception exceptions No exceptions thrown
*/
public static void main(String[] args) {
System.out.println("Hello, it's: ");
System.out.println(new Date());
}
} ///:~
javac hellodate.java OK 没有报任何错误
java hellodate 时就出现如下错误:
Exception in thread "main" java.lang.NoClassDefFoundError:hellodate/java
请指教