這XDoclet好像也是自動代碼生成工具,記錄一下,以備日後學習
另外還有 JUnit, Cactus, 与 Maven
Ant入门
一,构建ant环境
要使用ant首先要构建一个ant环境,步骤很简单:
1),安装jdk,设置JAVA_HOME ,PATH ,CLASS_PATH(这些应该是看这篇文章的人应该知道的)
2),下载ant 地址www.apache.org找一个你喜欢的版本,或者干脆最新的版本
3),解压ant 你得到的是一个压缩包,解压缩它,并把它放在一个尽量简单的目录,例如D:\ant-1.6虽然你不一 定要这么做,但这么做是有好处的。
4),设置ANT_HOME PATH中添加ANT_HOME目录下的bin目录
5),测试一下你的设置,开始-->运行-->cmd进入命令行-->键入 ant 回车,如果看到
Buildfile: build.xml does not exist!
Build failed
那么恭喜你你已经完成ant的设置
二,体验ant
就像每个语言都有HelloWorld一样,一个最简单的应用能让人感受一下Ant
1,首先你要知道你要干什么,我现在想做的事情是:
编写一些程序
编译它们
把它打包成jar包
把他们放在应该放置的地方
运行它们
这里为了简单起见只写一个程序,就是HelloWorld.java程序代码如下:
package test.ant;
public class HelloWorld{
public static void main(String[] args){
System.out.println("Hello world1");
}
};
2,为了达到上边的目的,你可以手动的用javac 、copy 、jar、java来完成,但是考虑一下如果你有成百上千个类,在多次调试,部署的时候,一次次的javac 、copy、jar、java那将是一份辛苦的工作。现在看看ant怎么优雅的完成它们。
要运行ant需要有一个build.xml虽然不一定要叫这个名字,但是建议你这么做
下边就是一个完整的build.xml,然后我们来详细的解释每一句
<?xml version="1.0" encoding="UTF-8" ?>
<project name="HelloWorld" default="run" basedir=".">
<property name="src" value="src"/>
<property name="dest" value="classes"/>
<property name="hello_jar" value="hello1.jar"/>
<target name="init">
<mkdir dir="${dest}"/>
</target>
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
<target name="run" depends="build">
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
</project>
解释:
<?xml version="1.0" encoding="UTF-8" ?>
build.xml中的第一句话,没有实际的意义
<project name="HelloWorld" default="run" basedir=".">
</project>
ant的所有内容必须包含在这个里边,name是你给它取的名字,basedir故名思意就是工作的根目录 .代表当前目录。default代表默认要做的事情。
<property name="src" value="src"/>
类似程序中的变量,为什么这么做想一下变量的作用
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
把你想做的每一件事情写成一个target ,它有一个名字,depends是它所依赖的target,在执行这个target 例如这里的compile之前ant会先检查init是否曾经被执行过,如果执行过则直接直接执行compile,如果没有则会先执行它依赖的target例如这里的init,然后在执行这个target
如我们的计划
编译:
<target name="compile" depends="init">
<javac srcdir="${src}" destdir="${dest}"/>
</target>
做jar包:
<target name="build" depends="compile">
<jar jarfile="${hello_jar}" basedir="${dest}"/>
</target>
运行:
<target name="run" depends="build">
<java classname="test.ant.HelloWorld" classpath="${hello_jar}"/>
</target>
为了不用拷贝,我们可以在最开始定义好目标文件夹,这样ant直接把结果就放在目标文件夹中了
新建文件夹:
<target name="init">
<mkdir dir="${dest}"/>
</target>
为了更多一点的功能体现,又加入了两个target
删除生成的文件
<target name="clean">
<delete dir="${dest}" />
<delete file="${hello_jar}" />
</target>
再次运行,这里显示了如何在一个target里边调用其他的target
<target name="rerun" depends="clean,run">
<ant target="clean" />
<ant target="run" />
</target>
好了,解释完成了,下边检验一下你的ant吧
新建一个src的文件夹,然后把HelloWorld.java按照包目录放进去
做好build.xml文件
在命令行下键入ant ,你会发现一个个任务都完成了。每次更改完代码只需要再次键入ant
有的时候我们可能并不想运行程序,只想执行这些步骤中的某一两个步骤,例如我只想重新部署而不想运行,键入
ant build
ant中的每一个任务都可以这样调用ant + target name
好了,这样一个简单的ant任务完成了。
由於工作使用Java的關系,所以慢慢在接觸一些Java的內容。今天第一次看關於ant的文章,雖然早有耳聞,但還是被它的靈巧驚呆了。越看感覺越驚奇,越看感覺越驚喜。它真是太棒了!
Ant靈巧而強大。使用Ant可以快速的做一些平時做起來費時費神的工作,可以對布署進行編程。公司現在的開發團隊的狀態,正是在Ant的強大方面有所不足——布署。所以現在看Ant看的是欲火焚身,每看一個Task都覺得太有用了,恨不得現在就去試驗,去應用,但又急著想看下一個Task,看過之後又有同樣的感受……
決定要好好的學會Ant。開發編程,部署編程,一個都不能少。
今天我和一个大学时的同学聊天。讨论技术,和他聊天时发现。他说的很多技术名称,我甚至从来都没有听说过。虽然我知道他的技术一直都比我强。但是我还是在想,为什么以前他比我强,现在还是比我强呢。我在这段时间里,也是一直在努力着呀。仔细想了想,才发觉,这真件是太理所当然的事了。
我最近都在做什么呢?除了把学校里讲的那点浅的不行的东西复习一遍外。便只满足于自己的那个很差劲的数据库操作包了。一旦有时间,不是去研究新的技术,而是去泡论坛,看海贼王。这样的生活,能学的好技术才怪呢。
我这是怎么了呢?我不是一直最喜欢研究技术的吗?为什么现在开始玩游戏,泡论坛,看动画片也没有学习技术了呢。我问自己。“问的好,多问问自己吧,你这个骄傲自满的家伙”。我很快得到了心底的响应。是啊,现在的我确实是有点满于现状了啊。觉得在学校里成绩在前排就沾沾自喜了,这实在是一个非常恶劣的态度。不要说学校里学的东西很浅,就算是在微软这样的公司,技术处于全公司领先地位的话,骄傲自满,不思进取的话,又能“蹦嗒”几天呢?软件这一行,如果不是活到老,学到老的话,就只能是一个被淘汰的结局。坐着满于现状,与井底之蛙无异。我想只有放眼技术前沿,多做实践,多研究,长期积累,多动脑子思考,多“主动”去找问题,想问题,才能写出这样的文章来吧:
http://www.cnblogs.com/fanweixiao/archive/2008/06/23/1227841.html
我一定要超越Inrie和VC这对我大学时的好朋友。在超越他们之前,我要先超越自己。
谨以此文励志,向着成为自己看的起的程序员的目标,以路飞的意志,努力吧!
在终端执行以下命令(第一条是备份现有服务器列表,第二条是使用Gedit编辑,您也可以使用自己喜爱的编辑器编辑。)
sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup
sudo gedit /etc/apt/sources.list
从以下各服务器列表内容中选择一段替换文件中的所有内容(请根据自己网络环境设置更新服务器,以达到最快的速度。)
Archive.ubuntu.com 更新服务器(欧洲):
deb
http://archive.ubuntu.com/ubuntu/ dapper main restricted universe multiverse
deb
http://archive.ubuntu.com/ubuntu/ dapper-security main restricted universe multiverse
deb
http://archive.ubuntu.com/ubuntu/ dapper-updates main restricted universe multiverse
deb
http://archive.ubuntu.com/ubuntu/ dapper-backports main restricted universe multiverse
deb
http://archive.ubuntu.org.cn/ubuntu-cn/ dapper main restricted universe multiverse
Ubuntu.cn99.com 更新服务器(江苏省常州市电信,推荐电信用户使用。):
deb
http://ubuntu.cn99.com/ubuntu/ dapper main restricted universe multiverse
deb
http://ubuntu.cn99.com/ubuntu/ dapper-updates main restricted universe multiverse
deb
http://ubuntu.cn99.com/ubuntu/ dapper-security main restricted universe multiverse
deb
http://ubuntu.cn99.com/ubuntu/ dapper-backports main restricted universe multiverse
deb
http://ubuntu.cn99.com/ubuntu-cn/ dapper main restricted universe multiverse
Mirror.lupaworld.com 更新服务器(浙江省杭州市电信,亚洲地区官方更新服务器,推荐全国用户使用。):
deb
http://cn.archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb
http://cn.archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb
http://cn.archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse
deb
http://cn.archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
deb
http://mirror.lupaworld.com/ubuntu/ubuntu-cn dapper main restricted universe multiverse
deb
http://security.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb-src
http://cn.archive.ubuntu.com/ubuntu dapper main restricted universe multiverse
deb-src
http://cn.archive.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
deb-src
http://cn.archive.ubuntu.com/ubuntu dapper-updates main restricted universe multiverse
deb-src
http://cn.archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
deb-src
http://security.ubuntu.com/ubuntu dapper-security main restricted universe multiverse
上海市 上海交通大学 更新服务器(教育网,推荐校园网和网通用户使用。):
deb
http://ftp.sjtu.edu.cn/ubuntu/ dapper main multiverse restricted universe
deb
http://ftp.sjtu.edu.cn/ubuntu/ dapper-backports main multiverse restricted universe
deb
http://ftp.sjtu.edu.cn/ubuntu/ dapper-proposed main multiverse restricted universe
deb
http://ftp.sjtu.edu.cn/ubuntu/ dapper-security main multiverse restricted universe
deb
http://ftp.sjtu.edu.cn/ubuntu/ dapper-updates main multiverse restricted universe
deb
http://ftp.sjtu.edu.cn/ubuntu-cn/ dapper main multiverse restricted universe
北京市清华大学 更新服务器(教育网,推荐校园网和网通用户使用。):
deb
http://mirror.net9.org/ubuntu/ dapper main multiverse restricted universe
deb
http://mirror.net9.org/ubuntu/ dapper-backports main multiverse restricted universe
deb
http://mirror.net9.org/ubuntu/ dapper-proposed main multiverse restricted universe
deb
http://mirror.net9.org/ubuntu/ dapper-security main multiverse restricted universe
deb
http://mirror.net9.org/ubuntu/ dapper-updates main multiverse restricted universe
deb
http://mirror.net9.org/ubuntu-cn/ dapper main multiverse restricted universe
中国 台湾省台湾大学 更新服务器(推荐网通用户使用,电信PING平均响应速度41MS。)
deb
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper main restricted universe multiverse
deb-src
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper main restricted universe multiverse
deb
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper-updates main restricted universe multiverse
deb-src
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper-updates main restricted universe multiverse
deb
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper-backports main restricted universe multiverse
deb-src
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper-backports main restricted universe multiverse
deb
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper-security main restricted universe multiverse
deb-src
http://ubuntu.csie.ntu.edu.tw/ubuntu/ dapper-security main restricted universe multiverse
deb
http://ftp.sjtu.edu.cn/ubuntu-cn/ dapper main multiverse restricted universe
Mirror.vmmatrix.net 更新服务器(上海市电信,推荐电信网通用户使用。):
deb
http://mirror.vmmatrix.net/ubuntu/ dapper main restricted universe multiverse
deb-src
http://mirror.vmmatrix.net/ubuntu/ dapper main restricted universe multiverse
deb
http://mirror.vmmatrix.net/ubuntu/ dapper-updates main restricted universe multiverse
deb-src
http://mirror.vmmatrix.net/ubuntu/ dapper-updates main restricted universe multiverse
deb
http://mirror.vmmatrix.net/ubuntu/ dapper-backports main restricted universe multiverse
deb-src
http://mirror.vmmatrix.net/ubuntu/ dapper-backports main restricted universe multiverse
deb
http://mirror.vmmatrix.net/ubuntu/ dapper-security main restricted universe multiverse
deb-src
http://mirror.vmmatrix.net/ubuntu/ dapper-security main restricted universe multiverse
deb
http://ftp.sjtu.edu.cn/ubuntu-cn/ dapper main multiverse restricted universe
ubuntu.cnsite.org 更新服务器 (福建省福州市 电信):
deb
http://ubuntu.cnsite.org/ubuntu/ dapper main restricted universe multiverse
deb-src
http://ubuntu.cnsite.org/ubuntu/ dapper main restricted universe multiverse
deb
http://ubuntu.cnsite.org/ubuntu/ dapper-updates main restricted universe multiverse
deb-src
http://ubuntu.cnsite.org/ubuntu/ dapper-updates main restricted universe multiverse
deb
http://ubuntu.cnsite.org/ubuntu/ dapper-backports main restricted universe multiverse
deb-src
http://ubuntu.cnsite.org/ubuntu/ dapper-backports main restricted universe multiverse
deb
http://ubuntu.cnsite.org/ubuntu/ dapper-security main restricted universe multiverse
deb-src
http://ubuntu.cnsite.org/ubuntu/ dapper-security main restricted universe multiverse
deb
http://ubuntu.cnsite.org/ubuntu-cn/ dapper main multiverse restricted universe
到
以下网址可以自定义产生若干源:http://www.ubuntulinux.nl/source-o-matic
以下网址有极其全面的源,以供补充:http://italy.copybase.ch/blog/lista-repository-
sourceslist-ottimizzata-per-ubuntu-kubuntu-linux/
保存编辑好的文件,执行以下命令更新。
sudo apt-get update
sudo apt-get dist-upgrade
我自己测试发现台湾大学的服务器非常快。我是网通。