Four steps to a running application

3189 단어 application
package oata;public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); }}After finishing the java-only step we have to think about our build process. We have to compile our code, otherwise we couldn't start the program. Oh - "start"- yes, we could provide a target for that. We should package our application. Now it's only one class - but if you want to provide a download , no one would download several hundreds files ... (think about a complex Swing GUI - so let us create a jar file. A startable jar file would be nice ... And it's a good practise to have a "clean"target, which deletes all the generated stuff. Many failures could be solved just by a "clean build".
By default Ant uses build.xml as the name for a buildfile, so our .\build.xml would be:
<project>

<target name="clean">

<delete dir="build"/>

</target>

<target name="compile">

<mkdir dir="build/classes"/>

<javac srcdir="src" destdir="build/classes"/>

</target>

<target name="jar">

<mkdir dir="build/jar"/>

<jar destfile="build/jar/HelloWorld.jar" basedir="build/classes">

<manifest>

<attribute name="Main-Class" value="oata.HelloWorld"/>

</manifest>

</jar>

</target>

<target name="run">

<java jar="build/jar/HelloWorld.jar" fork="true"/>

</target>

</project>

Now you can compile, package and run the application via
ant compile

ant jar

ant run

Or shorter with
ant compile jar run

While having a look at the buildfile, we will see some similar steps between Ant and the java-only commands:



java-only
Ant


md build\classes

            javac

            -sourcepath src

            -d build\classes

            src\oata\HelloWorld.java

            echo Main-Class: oata.HelloWorld>mf

            md build\jar

            jar cfm

            build\jar\HelloWorld.jar

            mf

            -C build\classes

            .

            java -jar build\jar\HelloWorld.jar

            
<mkdir dir="build/classes"/>

            <javac

            srcdir="src"

            destdir="build/classes"/>

            <!-- automatically detected -->

            <!-- obsolete; done via manifest tag -->

            <mkdir dir="build/jar"/>

            <jar

            destfile="build/jar/HelloWorld.jar"

            basedir="build/classes">

            <manifest>

            <attribute name="Main-Class" value="oata.HelloWorld"/>

            </manifest>

            </jar>

            <java jar="build/jar/HelloWorld.jar" fork="true"/>

            

좋은 웹페이지 즐겨찾기