项目的准备:
我们希望从不同的来源所产生的文件,因此我们的Java源文件将源文件夹中。 所有生成的文件应根据建设 ,并分裂成数个子目录个人步骤: 班我们汇编文件和 JAR为我们自己的白佳文件。
我们希望从所产生的文件来分离源文件,因此我们的JAVA源文件将在 src folder。所有生成的文件应根据构建方式,并为单独的步骤分成数个子目录:classes是我们编译的文件,jar是我们JAR包文件。 我们必须创建一个唯一的src目录: md src接着是创建一个打印固定信息的标准输出的JAVA代码,所以仅需要写下这些代码到 src\oata\HelloWorld.java. 目录: package oata; public class HelloWorld { public static void main(String[] args) { System.out.println("Hello World"); } } 现在我们开始编译和运行: md build\classes javac -sourcepath src -d build\classes src\oata\HelloWorld.java java -cp build\classes oata.HelloWorld (这里我想说明下,可能有些新手不知道怎么样编译和运行上面的程序,我在这里简单演示下: 首先运行--cmd--进入你项目所在的路径(cd +目录路径即可): 然后在上面代码拷贝运行 ) 运行后 将在控制台打印 Hello World,并且你将现在在的工程目录下多了一个build文件夹,build 下有一个classes文件夹,classes文件夹下正是编译后的HELLOWORLD的class文件,在通过观察: md build\classes --在当前项目路径下创建了build\classes子路径 javac -sourcepath src -d build\classes src\oata\HelloWorld.java --编译JAVA文件并将其放到classes目录下 java -cp build\classes oata.HelloWorld --运行classes目录下的HelloWorld.java字节码文件。 创建一个 jar-file 不是很困难,但是创建一个启动的 jar-file 需要更多的步骤:创建一个包含启动级的类文件,创建一个目标目录和归档文件: echo Main-Class: oata.HelloWorld>myManifest md build\jar jar cfm build\jar\HelloWorld.jar myManifest -C build\classes . java -jar build\jar\HelloWorld.jar 注意:不能有任何空格运行时 这是成功运行后的目录。四步执行应用:
在完成仅用JAVA完成后我们必须考虑我们的构建过程。我们必须编译我们的代码,否则我们不能启动这个项目。啊-开始-是的,我们能提供一个目标。我们应该封装我们的应用。现在仅仅只有一个class文件,不是如果你想要提供一个下载,没有人想下载几百文件(想象一下一个复杂的Swing GUI --所以我们必须创建一个JAR文件(类似于EXE这种直接点击就可启动程序),一个启动JAR文件将会很不错。。。而这是一个很好的实践为有一个干净的目标,这会删除所有生成的东西。许多失败将可以解决只因为一个 “clean build”)
默认的情况下Ant使用 build.xml 作为构建文件的名称,所以我们的.\build.xml 将会是: <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> 现在你可以编译打包运行应用了 ant compile ant jar ant run 或者更简短的命令 ant compile jar run While having a look at the buildfile, we will see some similar steps between Ant and the java-only commands: 同时我们可以看一下这个构建文件,我们可以看见许多类似的步骤Ant和java命令之间
java-onlyAnt 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"/> 增强构建文件...(待续。。今天就暂时翻译也学习到这里,对ANT也有了一个初步的认识,也知道了我们现在项目中的build.xml是用来作甚么的了,说白了ANT就是一个基于XML文件的构建工具,可以将类似于class啊 jar啊,通过编译项目,设定相应目标路径,进行一个文件的整理编译发布。。呵呵 这当然是很肤浅的,但是对于项目的应用足够了。。不会就对着实例,在看API了解。。。)
小菜毛毛 2009-06-03 12:01 发表评论