入坑了有木有?咱敲代码的人,不缺的是好奇心,缺的是大妹子!!!
言归正传, 相信很多同学的第一个HelloWorld都是在eclipse上实现的,也有部分同学是可以用CMD(COMMAND)窗口实现java代码运行,嗯 ,这些同学不用看前面的部分了,直接跳到后面看怎样用Apache ant来管理.
好吧,我们现在有两个目标,第一个是通过环境配置神马的来实现在CMD窗口中的JAVA运行,第二个则是用ANT管理工具来管理JAVA项目(当然我会从头到尾给你讲一下这东东的实现)
第一个目标:
第一步:安装JDK,已安装的可以略过不看,
实现JAVA环境,对,你得去下载JDK,可以直接去orancle的网站下,这里贴一个网址,度娘的:http://rj.baidu.com/soft/detail/14459.html?ald
这里不说具体的,大概说一下,下完安装,记得要记住安装的地址,这里以安装在C盘为例:得到的JDK地址是C:\Program Files\Java\jdk1.8.0_91,
然后点我的电脑,下面有属性,点进去,看到高级选项有木有,果断点,你就可以看到环境变里了,这里你看一下,对,就是下图中的系统变量,看一下有没有这三个变 量,JAVA_HOME ,CLASSPATH ,PATH ,有的话直接点它来修改,没有的话选择新建,它们的配置如下
JAVA_HOME C:\Program Files\Java\jdk1.8.0_05
CLASSPATH .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
PATH %JAVA_HOME%\bin;
打开cmd窗口,打入java
好,java环境配置成功
第二步:建立一个项目,其实就是一个文件,这里大家知道我们的文件一般是怎样的?是这样的
比如在D盘建立一个项目,我们知道,如果是用eclipse的话它是会建立一个workspace的文件来作为你存入项目的空间的,这里我们规范一下,就用建立一个项目的形式 建立文件吧,在这里我建立一个AntTest 项目,src是在这个项目下面放源码的,它下面有个包是package test.ant, 如果要实现第一个目标是不用建立得这么复 杂的,但 如果要实现第二个目标用ant管理,就得这样了。上面那么啰嗦,也可不用看上面的,直接看这里
这里建立项目的地址 是 D:\Documents\workspace\AntTest\src\test\ant,你只要按这个地址依次建立文件就行了, 跳到ant文件中, 建立一个文本文件,记得 把它后缀名.java,它的名字是HelloWorld.java,ctrl c 保存,代码如下
//package test.ant;
public class HelloWorld
{
public static void main(String[] args){
System.out.println("HelloWord!");
}
}
为什么把包package用//给注释把掉,因为如果没有注释的话,是cmd窗口中是可以用javac编译,生成.CLASS文件,但运行不了,它不能识别HelloWorld.java文件中第 一 行package test.ant;所以要用cmd窗口来运行eclipse中生成的java文件的小伙伴们要注意了。但是用Ant管理的话,编译时它是能识别的,所 以在实现第二个目标ant管 理 时,记得把注释去掉
好吧,下面直接在cmd窗口中进入ant文件中,输入javac HelloWorld.java,让它生成.class文件,也就是字节码,再输入java HelloWorld,运行程序
具体操作如下图中划圈部分
运行成功,现在来实现第二个目标
第二个目标:(记得把在实现第一个目标时的HelloWorld文件中的第一行注释中的注释号去掉)
第一步,下载ant文件,打开http://ant.apache.org/srcdownload.cgi选一个下下来,然后解压。这里我选第一个
我在c盘上建立了一个ant文件,然后把它解压到了我们这个文件中,它的地址是C:\ant\apache-ant-1.10.1
第二步:配置ant,打开环境变量,新建一个ANT_HOME
接下来是下面两个变量
CLASSPATH ;%ANT_HOME%lib;
PATH
在变量中加入添加%ANT_HOME%\bin等语句时,记得跟前面的值用;来隔开
打开cmd,输入ant -version
成功了,好吧,接下来是重点
第三步,打开AntTest文件,在文件中建立一个build.xlm文件,在文件中输入下面代码,这里我比较懒,直接拿别人写好的,我这里用中文进行解释,为了省点,就不用<!====>,而用//,如果要用的话记得把中下面的中文注释//去掉,
<?xml version="1.0" encoding="GBK"?> //指定版本,和编码类型
<project name="HelloWorld" default="run" basedir="."> // name是项目名,default是默认执行那一个target命令,basedir="."是表示根目标是当前目录,
<property name="src" value="src" />
<property name="dest" value="classes" /> //property是类似变量名,意思是变量dest的值是classes,下面的mkdir dir="${dest}""意思是建立一个目录,它的名字是变量dest的 // 值, 也就是classes
<property name="hello_jar" value="hello1.jar" />
<target name="init"> // target是这个文件中要执行的命令,可以有多个target,来执行多个命令,这里是初始化,建立一个目录它的名字是变量dest的 值, 也就是classes <mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init"> //这里同样是一个命令,它的名字是compile(编译),它依赖于命令init(初始化),也就是上面的那个target,它的意思是
<javac srcdir="${src}" destdir="${dest}" includeantruntime="on" />
//编译src目录下的文件,也就是HelloWorld.然后把运行时间打开
</target>
<target name="build" depends="compile"> //这一步是建立,依赖是上一个target命令compile,这一步会建立一个jar包
<jar jarfile="${hello_jar}"
basedir="${dest}"/>
</target>
<target name="run" depends="build"> //与上面同理,运行上面编译好的字节码,也就是.class文件
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
<target name="clean"> //这个命令是清理的意思,清除clsses文件,和jar包
<delete dir="${dest}" />
<delete file="${hello_jar}"/>
</target>
<target name="rerun" depends="clean,run"> //这个target命令是重运行的意思,也就是把生成的东西删除,重新编译,生成,故糅合了上面的两个命令clean,run
<ant target="clean" /> //这里就体现管理的意思了,你可以像上面一样建立几个基础的命令,然后杂糅,生成复杂的命令,以后直接用调用这个复杂
//复杂的命令就行了,类似sql中的存储过程
<ant target="run" />
</target>
</project>
在AntTest文件中建好build.xlm文件后,打开cmd窗口
进入AntTest文件中,输入ant
运行成功,然后你也可以用 ant clean,ant rerun等命令了,也可以自己在build文件中新定义一些命令,在这里直接用ant xx 来调用就行了,本人水平有限,部分内容有所借鉴,如果有错误请不吝赐教。