Java (javac.exe)
make Java
import
make
make :
: Office.java
Excel.java
1
: Office.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
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/
JAX http://www.alphaworks.ibm.com/tech/JAX/
10
RetroGuard
Open Source
RetroGuard
RetroGuard
RetroGuard
RetroGuard :
12: RetroGuard
11
retroguard.jar RetroGuard
:
13: RetroGuard
MyGUI.jar MyGUI.jar
:
14: MyGUI.jar
12
15: MyGUI.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
:
30
Java
Java (ServletEJB )
Ant Ant
?
31