javac(1) javac(1)
javac - Java
javac [ -bootclasspath bootclasspath ]
[ -classpath classpath ] [ -d directory ]
[ -deprecation ] [ -encoding encoding ]
[ -extdirs directories ]
[ -g | -g:none | -g:keyword-list ] [ -Joption ]
[ -nowarn ] [ -O ] [ -sourcepath sourcepath ]
[ -target version ] [ -verbose ] [ -X ]
[ -Xstdout filename ] [ sourcefiles ] [ @files ]
sourcefiles 1 (MyClass.java )
@files 1
javac Java
javac
2
+o
+o
@
javac
.java
.class
MyClass
MyClass.java
MyClass.class
MyClass$MyInnerClass.class
/workspace
com.mysoft.mypack.MyClass
/workspace/com/mysoft/mypack/MyClass.java
-d ()
java.applet.Applet Applet java.awt.Panel java.awt.Container
java.awt.Component
java.awt.Object
CLASSPATH
-classpath
(
) -sourcepath
-bootclasspath
-extdirs
javac
+o
javac
+o
javac
+o
javac
javac
javac
-verbose
Virtual Machine
-X
-classpath classpath
CLASSPATH
CLASSPATH
-classpath
-sourcepath
-d directory
javac
javac
-d /home/myclasses
com.mypackage.MyClass
/home/myclasses/com/mypackage/MyClass.class
-d
javac
-d
-deprecation
-deprecation
javac
-encoding encoding
(EUCJIS/SJIS ) -encoding
-g
-g:none
-g:keyword-list
source
lines
vars
-help
-nowarn
-source release
release 1.4 J2SE 1.4
release 1.3 -source
1.3
-sourcepath sourcepath
(:) JAR
ZIP
-verbose
javac
JDK
javac
Java
-bootclasspath
-extdirs
-bootclasspath bootclasspath
(:) JAR
ZIP
-extdirs directories
directories JAR
-target version
VM 1.2 VM 1 -source 1.4
1.4
1.1 1.1 VM 1.2 VM
1.2 1.2 VM 1.1 VM
1.3 Java 2 SDK, 1.3 VM 1.1 VM 1.2 VM
1.4 1.4 VM
-Joption
javac
java option -J-Xms48m
48M
-X
javac
-J
Java
VM
CLASSPATH -classpath
-bootclasspath
-extdirs
javac
-J
java
-X
-Xstdout filename
System.err
-Xswitchcheck
switch
" case"
" case" case switch
case
break
case case ""
switch
case 1
break :
switch (x) {
case 1:
System.out.println("1");
// break;
case 2:
System.out.println("2");
}
-Xswtichcheck
case
"case "
javac
1
javac
javac
(*)
( *.java )
@
javac @ javac @
- 1
javac argfile
1
example% javac @argfile
- 2
2 1 javac 1
( )
options
-d classes
-g
-sourcepath \java\pubs\ws\1.3\src\share\classes
classes
MyClass1.java
MyClass2.java
MyClass3.java
javac
example% javac @options @classes
-
( path1
path2 )
example% javac @path1\options @path2\classes
Hello.java
greetings.Hello greetings
-d
example% ls
greetings/
example% ls greetings
Hello.java
example% cat greetings/Hello.java
package greetings;
public class Hello {
public static void main(String[] args) {
for (int i=0; i < args.length; i++) {
System.out.println("Hello " + args[i]);
}
}
}
example% javac greetings/Hello.java
example% ls greetings
Hello.class Hello.java
example% java greetings.Hello World Universe Everyone
Hello World
Hello Universe
Hello Everyone
greetings
example% ls
greetings/
example% ls greetings
Aloha.java GutenTag.java Hello.java Hi.java
example% javac greetings/*.java
example% ls greetings
Aloha.class GutenTag.class Hello.class Hi.class
Aloha.java GutenTag.java Hello.java Hi.java
1
example% pwd
/examples
example% javac greetings/Hi.java
greetings.Hi greetings
/examples
CLASSPATH
-classpath
example% javac -classpath /examples /examples/greetings/Hi.java
greetings.Hi
example% javac -classpath /examples:/lib/Banners.jar \
/examples/greetings/Hi.java
greetings greetings greetings
example% java -classpath /examples:/lib/Banners.jar greetings.Hi
-d
-sourcepath
example% ls
classes/ lib/ src/
example% ls src
farewells/
example% ls src/farewells
Base.java GoodBye.java
example% ls lib
Banners.jar
example% ls classes
example% javac -sourcepath src -classpath classes:lib/Banners.jar \
src/farewells/GoodBye.java -d classes
example% ls classes
farewells/
example% ls classes/farewells
Base.class GoodBye.class
src/farewells/Base.java
-verbose
JDK 1.2 javac
1.1 VM
example% javac -target 1.1 -bootclasspath jdk1.1.7/lib/classes.zip \
-extdirs "" OldCode.java
-target 1.1
1.1 VM JDK1.2 javac
1.1
JDK 1.2 javac 1.2 JDK 1.2 JDK 1.1
-bootclasspath
-extdirs 1.1 VM 1.2 API
jar(1) java(1) javadoc(1) javah(1) javap(1) jdb(1)
Java Web
Java Extensions Mechanism @
http://java.sun.com/j2se/1.4/docs/guide/extensions/index.html
2001 11 30 javac(1)