Anda di halaman 1dari 31

Ant

Java (javac.exe)
make Java
import
make
make :

: Office.java

public class Office


{
public static void main(String args[])
{
if(args[0].equals("Word"))
{
Word w = new Word() ;
w.print() ;
}else if(args[0].equals("Excel"))
{
Excel e = new Excel() ;
e.print() ;
} Word.java
}
}

Excel.java

Office.java Word Excel


Word.java Excel.java Word.java
Excel.java
Java make
Java make :

1
: Office.java

public class Office


{
public static void main(String args[]) throws
Exception
{
Class c = Class.forName(args[0]) ;
Object o = c.newInstance() ;
Assembly a = (Assembly) o ;
a.start() ;
}
}
Assembly.java

Excel.java Word.java

Class.forName()
Assembly
Office.java Assembly.java
Word.java Excel.java Java

- Ant

Ant
JSP/Servlet Apache
Jakarta (http://jakarta.apache.org) Tomcat Tomcat Web
Server JSP/Servlet
1: Apache Jakarta (http://jakarta.apache.org)

2
Tomcat (Sub Projects)
?
Ant
2: Ant

Ant ? Java
World ?
Ant Another Neato Tool Sun James
Duncan Davidson James
Ant make
Windows Unix C/C++
make
Open Source Linux FreeBSD
make all make clean Visual
C++ Borland C++Builder
make make C/C++

3
make

Java Java C/C++ C/C++ include


Java (Java import include
Java package/import C++ namespace/using
)
make Java
make Java
James
Ant
Ant Java .NET
NAnt(http://nant.sourceforge.net/) Ant

3: NAnt

Java
Java
Borland JBuilder Sun Sun One
Studio( Forte for Java)

( EJB)

JDK
UltraEdit

Ant
Java Ant XML
Ant (javacjavajar
)
+ JDK Java

4
Ant

Ant
Ant
Ant OReilly Ant The Definitive
Guide
4: Ant The Definitive Guide

http://www.oreilly.com/catalog/anttdg/
Java Java
Ant James Duncan
Davidson James Ant
Ant ( Ant The Definitive
Guide ) Ant
Windows Java
Ant Ant Java

Java Ant

Java javac.exe
Java java.exe Java jar.exe
JAR WAR JDK
1.3.1 d:\jdk1.3.1
d:\jdk1.3.1\bin

JDK 1.3.1 d:\jdk1.3.1
JDK 1.3.1 D:\jdk1.3.1\bin

Ant

5
Ant (http://jakarta.apache.org/ant/) Ant
5: Ant

Ant 1.5Beta 2
Ant 1.4.1
http://jakarta.apache.org/builds/jakarta-ant/release/v1.4.1/bin/
1.4.1
6: Ant 1.4.1

6
jakarta-ant-1.4.1-bin.zip

Ant 1.4.1 d:\ Ant 1.4.1
d:\jakarta-ant-1.4.1

Ant 1.4.1 d:\jakarta-ant-1.4.1
Ant 1.4.1 d:\jakarta-ant-1.4.1\bin

7: Ant 1.4.1


Ant
d:\jakarta-ant-1.4.1\bin ant.bat( Windows
Ant):
set ANT_HOME=d:\jakarta-ant-1.4.1
set JAVA_HOME=d:\jdk1.3.1
8: d:\jakarta-ant-1.4.1\bin\ant.bat

Ant JDK

7
JAVA_HOME Ant
ANT_HOME
Ant PATH Ant
bin :
9:

ant.bat

Java
Java :
10: Java



(.jar)
(.jar)




(.java)
(.java)

(.jar)
(.jar)
javac.exe
jar.exe jar.exe



(.class)
(.class) (Manifest.mf)
(Manifest.mf)

Java
(.java ) Java (javac.exe)
(.class )

() JAR
Windows
(Manifest.mf) java.exe
JDK jar.exe
JAR jar
Java
Java
(obfuscate) Java

()

() Java
Java

(.jar)

Java

9
:

DashO http://www.preemptive.com/tools/clients.html

ZKM http://www.zelix.com/

JBuilder http://www.borland.com JBuilder


JAX http://www.alphaworks.ibm.com/tech/JAX/

RetroGuard http://www.retrologic.com/ OpenSource


DashO

ZKM JAX RetroGuard


ZKM JAX
JAX IBM IBM
JAX
Wireless Java
JAX Obfuscating MIDP
Applications with JAX
http://wireless.java.sun.com/midp/ttips/jax/
Managing Wireless Builds with Ant
(http://wireless.java.sun.com/midp/articles/ant/)
JAX
11: JBuilder

10
RetroGuard
Open Source
RetroGuard
RetroGuard

RetroGuard
RetroGuard :
12: RetroGuard

11
retroguard.jar RetroGuard
:
13: RetroGuard

RetroGuard Java java.exe


classpath retroguard.jar RetroGuard
RetroGuard JAR

MyGUI.jar MyGUI.jar
:
14: MyGUI.jar

12

15: MyGUI.jar

16: MyGUI.jar MyGUI-o.jar

RetroGuard
:
17: RetroGuard

13
RetroGuard JAR

RetroGuard
RetroGuard
my.Main public
script.rgs :
18: script.rgs

:
19:

14
20: MyGUI-o.jar

my.Main
RetroGuard
RetroGuard

JAR
JAR Windows
:
21: JAR



xyz.jar (xyz.jar)
(xyz.jar)
xyz.jar
meta-inf\Manifest.mf

Windows
Windows

Registry
Registry (Manifest.mf)
(Manifest.mf)
Manifest.mf
Registry Main-Class: aa.bb
JAR



javaw
javaw jar
jar xyz.jar
xyz.jar



javaw
javaw classpath
classpath xyz.jar
xyz.jar aa.bb
aa.bb

meta-ing\Manifest.mf Main-Class

15
Main-Class
jar.exe JAR jar.exe
manifest.mf JAR meta-inf
JAR :
22: java jar JAR


java jar xyz.jar



(xyz.jar)
(xyz.jar)

xyz.jar

meta-inf\Manifest.mf
(Manifest.mf)
(Manifest.mf)

Manifest.mf
Main-Class: aa.bb



Java
Java classpath xyz.jar
classpath xyz.jar aa.bb
aa.bb

meta-ing\Manifest.mf Main-Class

21 Registry JAR
Windows /
JAR
:

16
JAR JAR javaw.exe
:

17
JAR (xyz.jar) Windows
:
C:\Program Files\JavaSoft\JRE\1.3.1_03\bin\javaw.exe -jar xyz.jar
JAR
java.exe javaw.exe
java.exe main()
javaw.exe winmain() Java
javaw.exe java.exe
java.exe main()
DOS
java.exe
java.,exe javaw.exe JRE
JAR javaw.exe C:\Program Files\JavaSoft\JRE
javaw.exe C:\Program Files\JavaSoft\JRE
JRE()
Ant
Java

Ant

Ant
build.xml Ant
Java src
() res
build
build\classes JAR build\bin
JAR -unobfus.jar(
) JAR
.jar
Main.java

18
MyHandler.java my package
23: Main.java

24: MyHandler.java

JAR Manifest.mf
25: Manifest.mf

script.rgs

19
26: script.rgs

27:


build.xml
build.xml Manifest.mf
Manifest.mf
build.properties
build.properties

src
src retroguard.jar
retroguard.jar
my
my script.rgs
script.rgs
Main.java
Main.java
res
res
MyHandler.java
MyHandler.java
pic.jpg
pic.jpg

20
Java

build.properties Ant
build.xml build.xml build.properties

:build.properties

21
:build.xml

22

:
28:


build.xml
build.xml Manifest.mf
Manifest.mf
res
res build.properties
build.properties
src
src build
build
my
my bin
bin
Main.java
Main.java jar
jar
MyHandler.java
MyHandler.java
jar
jar

retroguard.jar
retroguard.jar
classes
classes
script.rgs
script.rgs

(build.properties)

(build.xml)
Java

23
build.properties build.xml
Java build.xml

:build.xml

ant compile
<project> default=compile ant ant
<target name=compile>
:

! JDK 1.4.x
RetroGuard JDK 1.4.x
java
target
build.xml :

24
build.properties build.xml
Java JAR
build.xml :
:build.xml

25
ant package JAR
<project> default=package ant
ant <target name=package>

26
build.properties build.xml
Java build.xml
:build.xml

ant obfuscate
<project> default=obfuscate ant
ant <target name=obfuscate>

27

Ant
build.xml :
:build.xml

28
ant ant all Ant

29
MyGUI.jar
:

Ant Ant Java

30
Java

Java (ServletEJB )
Ant Ant
?

31

Anda mungkin juga menyukai