﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-道非道  非常道-文章分类-项目工具</title><link>http://www.blogjava.net/gen-sky/category/51819.html</link><description>勤思、谨言、慎行、厚积、薄发</description><language>zh-cn</language><lastBuildDate>Mon, 28 May 2012 08:35:32 GMT</lastBuildDate><pubDate>Mon, 28 May 2012 08:35:32 GMT</pubDate><ttl>60</ttl><item><title>[扩展] maven 参考资料 </title><link>http://www.blogjava.net/gen-sky/articles/326743.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Wed, 21 Jul 2010 07:15:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/articles/326743.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/326743.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/articles/326743.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/326743.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/326743.html</trackback:ping><description><![CDATA[[1]Maven官方网站. http://maven.apache.org<br />
[2]Maven POM文件参考结构. http://maven.apache.org/ref/current/maven-model/maven.html<br />
[3]Super POM. http://maven.apache.org/guides/introduction/introduction-to-the-pom.html<br />
[4]Maven主要插件的列表. http://maven.apache.org/plugins<br />
[5]Maven基本使用指南. http://maven.apache.org/guides/index.html<br />
[6]Better Build with Maven. http://www.mergere.com/m2book_download.jsp -- 强烈推荐<br />
[7]介绍Maven2. http://www.javaworld.com/javaworld/jw-12-2005 /jw-1205-maven_p.html<br />
[8]揭秘Maven2 POM. http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html<br />
[9]Maven让事情变得简单. http://www-128.ibm.com/developerworks/cn/java/j-maven<br />
[10]Maven文档集. http://docs.codehaus.org/display/MAVENUSER/Home<br />
[11]有效利用Maven2的站点生成功能. http://www.matrix.org.cn/resource/article/44/44491_Maven2.html<img src ="http://www.blogjava.net/gen-sky/aggbug/326743.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2010-07-21 15:15 <a href="http://www.blogjava.net/gen-sky/articles/326743.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[入门] maven的简单教程 （二）   常用命令、创建工程</title><link>http://www.blogjava.net/gen-sky/articles/326742.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Wed, 21 Jul 2010 07:08:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/articles/326742.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/326742.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/articles/326742.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/326742.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/326742.html</trackback:ping><description><![CDATA[一、 创建工程<br />
&nbsp;&nbsp;&nbsp; 1. 创建 App 工程<br />
<span style="border-collapse: separate; color: #000000; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span style="font-family: monospace; white-space: pre-wrap;">       <span style="color: red;">mvn archetype:create</span> <span style="color: red;">-DgroupId=ce.</span><span style="color: red;">demo.mvn</span> <span style="color: red;">-DartifactId=app</span></span></span><br />
&nbsp;&nbsp;&nbsp; 2. 创建 webApp 工程<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <font color="#0000ff">D:\&gt;mvn archetype:create -DgroupId=ce.demo.mvn
-DartifactId=webapp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; -DarchetypeArtifactId=maven-archetype-webapp<br />
</font><br />
二、关键字<br />
<font size="2">&nbsp;&nbsp;&nbsp;
<strong>Project</strong>：任何您想build的事物，Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM，Poject Object
Model)。一个工程可以依赖其它的工程；一个工程也可以由多个子工程构成。<br />
&nbsp;&nbsp;&nbsp;
<strong>POM</strong>：POM(pom.xml)是Maven的核心文件，它是指示Maven如何工作的元数据文件，类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。<br />
&nbsp;&nbsp;&nbsp;
<strong>GroupId</strong>：groupId是一个工程的在全局中唯一的标识符，一般地，它就是工程名。groupId有利于使用一个完全的包名，将一个工程从其它有类似名称的工程里区别出来。<br />
&nbsp;&nbsp;&nbsp;
<strong>Artifact</strong>：artifact是工程将要产生或需要使用的文件，它可以是jar文件，源文件，二进制文件，war文件，甚至是pom文件。每个artifact都由groupId和artifactId组合的标识符唯一识别。需要被使用(依赖)的artifact都要放在仓库(见Repository)中，否则Maven无法找到(识别)它们。<br />
&nbsp;&nbsp;&nbsp;
<strong>Dependency</strong>：为了能够build或运行，一个典型的Java工程会依赖其它的包。在Maven中，这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。<br />
&nbsp;&nbsp;&nbsp;
<strong>Plug-in</strong>：Maven是由插件组织的，它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target)，并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的，但它也支持用Beanshell或Ant脚本写成的插件。<br />
&nbsp;&nbsp;&nbsp;
<strong>Repository</strong>：仓库用于存放artifact，它可以是本地仓库，也可以是远程仓库。Maven有一个默认的远程仓库--central，可以从<font color="#0000ff">http://www.ibiblio.org/maven/</font>下载其中的artifact。在Windows平台上，本地仓库的默认地址是<font color="#0000ff"><em>User_Home</em>".m2"repository</font>。<br />
&nbsp;&nbsp;&nbsp;
<strong>Snapshot</strong>：工程中可以(也应该)有一个特殊版本，它的版本号包括<em>SNAPSHOT</em>字样。该版本可以告诉Maven，该工程正处于开发阶段，会经常更新(但还未发布)。当其它工程使用此类型版本的artifact时，Maven会在仓库中寻找该artifact的最新版本，并自动下载、使用该最新版。<br />
<br />
<br />
</font>三、常用命令<br />
&nbsp;&nbsp; 1.<font color="#0000ff"><span style="color: #ff0000;"><span style="color: #ff0000;"><font color="#0000ff">mvn clean</font></span></span></font> &#8211;
消除工程(包括所有子工程)中产生的所有输出。这本文的实例中，实际上是删除target目录。由于之前的操作只有app工程产生了target目录，而webapp并没有，所以将只会删除app工程中的target目录。<br />
&nbsp;&nbsp; 2.<font color="#0000ff"><span style="color: #ff0000;"><font color="#0000ff">mvn package</font></span></font> &#8211;
将工程制作成相应的包，app工程是作成jar包(app-1.0.jar)，webapp工程是作成war包(webapp-1.0.war)。打开webapp-1.0.war包，可以发现app-1.0.jar被放到了WEB-INF的lib目录中。<br />
&nbsp;&nbsp; 3.创建Maven项目：<span style="color: #4876ff;"><span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">archetype:create</span></span><br />
&nbsp;&nbsp; 4.编译源代码：<span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">compile</span><br />
&nbsp;&nbsp; 5.编译测试代码：<span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">test-compile</span><br />
&nbsp;&nbsp; 6.运行测试：<span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">test</span><br />
&nbsp;&nbsp; 7.产生site：<span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">site</span><br />
&nbsp;&nbsp; 8.打包：<span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">package</span><br />
&nbsp;&nbsp; 9.在本地Repository中安装jar：<span style="color: #ff0000;">mvn</span> <span style="color: #ff0000;">install</span><br />
&nbsp;&nbsp; 10. <span style="color: #ff0000;">mvn eclipse:eclipse</span> ：生成 Eclipse 项目文件<br />
<br />
&nbsp;&nbsp;&nbsp; <br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<img src ="http://www.blogjava.net/gen-sky/aggbug/326742.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2010-07-21 15:08 <a href="http://www.blogjava.net/gen-sky/articles/326742.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[入门]  maven的简单教程 （一）</title><link>http://www.blogjava.net/gen-sky/articles/326731.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Wed, 21 Jul 2010 05:42:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/articles/326731.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/326731.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/articles/326731.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/326731.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/326731.html</trackback:ping><description><![CDATA[<span style="border-collapse: separate; color: #000000; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span style="font-family: verdana,sans-serif; font-size: 14px; line-height: 21px; text-align: left;"><span style="color: red;"><span style="color: red;"><span style="color: red;">一、前言</span></span></span><br />
&nbsp;&nbsp;&nbsp;&nbsp; 推荐二遍文章<br />
&nbsp;
</span></span><br />
&nbsp;&nbsp; Maven 2.0:编译、测试、部署、运行<br />
&nbsp;&nbsp; http://www.ideagrace.com/html/doc/2006/06/14/00847.html<br />
<br />
&nbsp;&nbsp; Maven2 的新特性<br />
&nbsp;&nbsp; http://www-128.ibm.com/developerworks/cn/opensource/os-maven2/index.html<br />
<br />
<span style="color: red;">二</span><span style="color: red;">、</span><span style="color: red;">maven2安装</span><br />
1、首先去官方网站下载之：http://maven.apache.org/download.html ，我选择的是截至目前最新版本maven2.0.4版本<br />
2、设置环境变量：Maven2下载完后，我将其解压到我的计算机的d:\maven204下，目录结构如下：<br />
D:\<br />
|--Maven204<br />
|-- bin<br />
|-- conf<br />
|-- core<br />
|-- lib<br />
|-- local<br />
<br />
环境变量：（操作系统windows2003）<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 我的电脑----属性----高级----环境变量，点击&#8220;系统变量&#8221;下的新建，输入：变量名 MAVEN_HOME; 变量值d:\Maven204，在系统变量列表中找到系统变量path，打开之，在变量值中追加";%MAVEN_HOME%\bin&#8221;，至此环境变量设置完毕。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 检查一下是否已经完成安装，打开dos窗口，输入mvn &#8211;v，如果出现以下信息则表示maven2已经安装成功：<br />
X：〉mvn &#8211;v<br />
Maven Version 2.0.4<br />
<br />
<span style="color: red;">三、用maven2创建第一个java工程</span><br />
1、选择一个根目录，我的java工作目录是D:\eclipse\workspace<br />
2、打开dos窗口采用cd命令进入D:\eclipse\workspace目录下<br />
3、输入下列指令<br />
D:\eclipse\workspace&gt;mvn archetype:create -DgroupId=com.efn -DartifactId=study<br />
指令执行完毕会出现如下的目录结构：<br />
study<br />
-- pom.xml<br />
-- src<br />
|-- main<br />
| `-- java<br />
| `-- com<br />
| `-- mycompany<br />
| `-- app<br />
| `-- App.java<br />
-- test<br />
|`-- java<br />
|`-- com<br />
|`-- mycompany<br />
|`-- app<br />
|`-- AppTest.java<br />
<br />
<span style="color: red;">四、生成eclipse工程文件</span><br />
我采用的开发工具是eclipse,所以用maven的eclipse参数生成eclipse工程文件。输入如下<br />
1、 采用dos的cd命令进入study目录<br />
2、 输入指令：mvn eclipse:eclipse 如下所示：<br />
D:\eclipse\workspace\study&gt;mvn eclipse:eclipse<br />
指令执行完毕后，发现多了两个文件：.classpath和.project<br />
<span style="border-collapse: separate; color: #000000; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span style="font-family: verdana,sans-serif; font-size: 14px; line-height: 21px; text-align: left;"><br />
</span></span><span style="color: red;">五、</span><span style="color: red;">下载maven的eclip</span><span style="color: red;">se插件</span><br />
1、打开eclipse<br />
2、打开菜单 help -Software updates-Find and Install<br />
3、选择第二项，进入下一步<br />
4、点击按钮&#8220;New Remote Site&#8230;&#8221;<br />
5、在Name中输入：Maven2，在URL中输入http://m2eclipse.codehaus.org/ <br />
Ok,现在一切都是自动化的，你所需要做的就是等待并按提示按按钮。<br />
&nbsp;&nbsp; /*<br />
&nbsp;&nbsp;&nbsp; 作者是自动。我的输入后提示：<br />
&nbsp;&nbsp;&nbsp;&nbsp; <img alt="" src="http://www.blogjava.net/images/blogjava_net/gen-sky/a.jpg" height="265" width="490" /><br />
&nbsp;&nbsp;&nbsp;&nbsp; 我的只能手动下载插件，并安装到IDE 上了。<br />
&nbsp;&nbsp; */<br />
<br />
<span style="color: red;">六、导入</span><span style="color: red;">工程</span><br />
刚才已经生成了eclipse的工程文件，现在导入之。菜单File-import ，按&#8220;下一步&#8221;，选择工程文件导入完毕后，工程管理透视图就会出现study节点了，在工程节点上，按鼠标右键，打开弹出菜单，选择maven2菜单项， 弹出子菜单-&gt;Enable，点击之打开，在Group Id中输入：study即可。<br />
<br />
打开study的pom.xml文件，会有如下类似内容：<br />
<br />
xml 代码<br />
&lt; project&nbsp;&nbsp;&nbsp; xmlns = "http://maven.apache.org/POM/4.0.0"&nbsp;&nbsp;&nbsp; xmlns:xsi = http ://www.w3.org/2001/XMLSchema-instance&nbsp; xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd " &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; modelVersion &gt; 4.0.0 &lt;/ modelVersion &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; groupId &gt; com.efn &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; artifactId &gt; study &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; packaging &gt; jar &lt;/ packaging &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; version &gt; 1.0-SNAPSHOT &lt;/ version &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; name &gt; Maven Quick Start Archetype &lt;/ name &gt;&nbsp; &nbsp;<br />
&nbsp;&nbsp; &lt; url &gt; http://maven.apache.org &lt;/ url &gt;&nbsp; &nbsp;<br />
&lt;/ project &gt;&nbsp; &nbsp;<br />
<br />
注意：有关这个文件的作用和各节点的作用不是本文的描述重点，可以到maven的官方网站查阅http://maven.apache.org/ 目前为止，所有的准备工作都已经就绪，现在我们就以一个主main函数访问数据库为例介绍在实际开发中的使用。<br />
<br />
<span style="color: red;">七、搭</span><span style="color: red;">建架包</span><br />
每一个java工程都不免使用第三方的架包，Maven的好处就是可以统一管理这些架 包，并使多个java工程共享这些架包。我们所需要做的就是按规则编辑pom.xml文件。Maven已经非常智能，使用maven的eclipse插件的向导，只要输入参数就可以将配置文件生成出来。我们的例子是用jdbc方式访问oracle的数据库。所以需要jdbc和oracle的架包的支持。下 面我们就来搭建这两个架包到study工程里来。<br />
<br />
有两种方式可以采用：<br />
1、自动向导<br />
第一种是采用向导方式并让向导直接去maven的服务器 上下载你需要的架包，这种方式存在一定的风险，一来可能maven的服务器上并没有你需要的东东，二来每次智能的maven总是去寻找那并不存在的东东。 抛出一大堆红字提示不说，达不到预期目标才是让人郁闷。不过为了保证文档的完整性，还是给出操作步骤。以junit为例（这个东东倒是没有问题，呵呵）当 工程的maven被Enable后，弹出菜单的maven2子菜，选择子菜单的&#8220;Add Dependency&#8221;菜单项，在Query中输入&#8220;junit&#8221;，向导会自动列出相关列表供选择。选择你最需要的架包，按&#8220;OK&#8221; 按钮。<br />
如果你的本地仓库已经存在该架包，则向导只在pom.xml加入依赖项信息，pom.xml文件的内容如下<br />
xml 代码<br />
&lt; project&nbsp;&nbsp; xmlns = "http://maven.apache.org/POM/4.0.0"&nbsp;&nbsp; xmlns:xsi ="http:// www.w3.org/2001/XMLSchema-instance "&nbsp;&nbsp; xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven. " apache.org/maven-v4_0_0.xsd &gt;&nbsp; &nbsp;<br />
&lt; modelVersion &gt; 4.0.0 &lt;/ modelVersion &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; com.efn &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; study &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; packaging &gt; jar &lt;/ packaging &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 1.0-SNAPSHOT &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt; name &gt; Maven Quick Start Archetype &lt;/ name &gt;&nbsp; &nbsp;<br />
&lt; url &gt; http://maven.apache.org &lt;/ url &gt;&nbsp; &nbsp;<br />
&lt; dependencies &gt;&nbsp; &nbsp;<br />
&lt; dependency &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; junit &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; junit &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 3.8.1 &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt;/ dependency &gt;&nbsp; &nbsp;<br />
&lt;/ dependencies &gt;&nbsp; &nbsp;<br />
&lt;/ project &gt;&nbsp; &nbsp;<br />
如果本地仓库没有，则向导会去maven的服务器下载架包，并在控制台输出下载日志如下：<br />
06-8-4 上午09时21分07秒: Local repository folder "" does not exist<br />
06-8-4 上午09时21分11秒: Reading /study/pom.xml<br />
06-8-4 上午09时21分11秒: Local repository folder "" does not exist<br />
06-8-4 上午09时21分18秒: Reading /study/pom.xml<br />
06-8-4 上午09时21分18秒: Local repository folder "" does not exist<br />
06-8-4 上午09时21分19秒: Reading /study/pom.xml<br />
06-8-4 上午09时21分19秒: Local repository folder "" does not exist<br />
06-8-4 上午09时36分33秒: Local repository folder "" does not exist<br />
06-8-4 上午09时37分11秒: Reading / study /pom.xml<br />
06-8-4 上午09时37分11秒: Local repository folder "" does not exist<br />
06-8-4 上午09时37分15秒: Local repository folder "" does not exist<br />
06-8-4 上午09时40分07秒: Local repository folder "" does not exist<br />
06-8-4 上午09时40分08秒: Reading / study /pom.xml<br />
06-8-4 上午09时40分08秒: Local repository folder "" does not exist<br />
06-8-4 上午09时46分24秒: Reading / study /pom.xml<br />
06-8-4 上午09时46分24秒: Local repository folder "" does not exist<br />
06-8-4 上午09时46分28秒: Local repository folder "" does not exist<br />
06-8-4 上午09时46分40秒: Local repository folder "" does not exist<br />
06-8-4 上午09时46分47秒: Local repository folder "" does not exist<br />
06-8-4 上午09时46分47秒: Reading / study /pom.xml<br />
06-8-4 上午09时46分47秒: Local repository folder "" does not exist<br />
06-8-4 上午09 时46 分49 秒: Downloading [central] -&gt; http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom <br />
06-8-4 上午09 时46 分49 秒: Downloaded [central] -&gt; http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom <br />
06-8-4 上午09 时46 分51 秒: Downloading [central] -&gt; http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar <br />
06-8-4 上午09时47分00秒: Downloaded [central] -&gt; http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar <br />
----------------------------------------------------------------<br />
补充修正：如果出现错误提示同时你手头也有架包的话可以采用maven的指令进行本地化安装。比如我在安装hibernate的架包时告诉我jta无法下载。要求本地化安装，给出的提示如下：<br />
1) javax.transaction:jta:jar:1.0.1B<br />
Try downloading the file manually from:http://java.sun.com/products/jta.Then , install it using the command:<br />
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta "&nbsp; -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/filePath to dependency:<br />
1) com.efn:mywebapp:war:1.0-SNAPSHOT<br />
2) org.hibernate:hibernate:jar:3.1rc2<br />
3) javax.transaction:jta:jar:1.0.1B<br />
----------<br />
1 required artifact is missing.for artifact: com.efn:mywebapp-1.0-SNAPSHOT.war这个提示是说可以先到sun的网站下载jta架包，然后采用命令行的方式按要求安 装，因为我本来就有此架包，于是拷到一个方便的位置，比如c:",然后在命令行下输入：<br />
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=C:/jta.jar<br />
执行完毕后，一切OK!<br />
--------------------------------------------------------------<br />
<br />
2、手工配置<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 手工配置比起自动化来说是麻烦了些，不过任何东东掌握在自己手里总归是吃饱喝足谁也不服了不是吗。而且配置一次就可以受益终身。更重要的是能解决自动化完 成不了的任务。比如我现在要配置oracle的jdbc驱动，采用自动化就提示我下载不了让我改变下载地址等等，真累。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 算了还是自己来吧。<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 手工配置前还是先介绍一下相关背景知识。首先了解一下jar仓库的概念，maven采用集中化的方式管理架包，凡用maven构建的java工程都可以重 用统一管理下的架包，所以必须有一个统一存放jar文件的地方，这就是jar仓库，不论是开发还是部署都会建立一个本地仓库。这个仓库的位置默认是 X:\Documents and Settings\Administrator.LIPENG\.m2\repository（X是你操作系统所在盘符）下，你可以修改配置文件改变默认 的输出位置。该配置文件在maven目录下的conf子目录下。文件名叫settings.xml。在配置文件中加入如下节点信息即可D:/Repository。不过不建议改变，好像eclipse的maven插件只认默认的输出位置。我就是在这方面出了问题搞了半天才发现是输出路径的问题，也许是我还<br />
没有玩转插件。谁要是解决此问题别忘了跟大家共享。<br />
现在我们分析一下配置文件pom.xml的结构，以junit为例，格式如下：<br />
xml 代码<br />
&lt; dependencies &gt;&nbsp; &nbsp;<br />
&lt; dependency &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; junit &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; junit &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 3.8.1 &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt;/ dependency &gt;&nbsp; &nbsp;<br />
&lt;/ dependencies &gt;&nbsp; &nbsp;<br />
在来看看本地仓库目录结构<br />
Repository<br />
`-- junit<br />
|-- junit<br />
| `-- 3.8.1<br />
| `-- junit-3.8.1.jar<br />
现在大家应该明白了吧，多余的话不说啦。照葫芦画瓢就是。不过注意先建目录后写配置文件，否则一旦保存，智能的插件就马上开始下载了&#8230;<br />
<br />
现在开始手动建立oracle的jdbc目录并配置文件,首先建立目录结构如下：<br />
Repository<br />
`-- ojdbc<br />
|-- ojdbc<br />
| `-- 14<br />
| `-- ojdbc-14.jar<br />
如果你手头的jar文件名叫ojdbc14.jar，则改为ojdbc-14.jar,写配置文件:<br />
xml 代码<br />
&lt; dependency &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; ojdbc &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; ojdbc &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 14 &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt;/ dependency &gt;&nbsp; &nbsp;<br />
那么现在一个完整的pom.xml文件如下：<br />
xml 代码<br />
&lt;? xml&nbsp;&nbsp; version = "1.0" ?&gt;<br />
&lt; project &gt;&nbsp; &nbsp;<br />
&lt; modelVersion &gt; 4.0.0 &lt;/ modelVersion &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; com.mycompany.app &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; myapp &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; name &gt; Maven Quick Start Archetype &lt;/ name &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 1.0-SNAPSHOT &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt; url &gt; http://maven.apache.org &lt;/ url &gt;&nbsp; &nbsp;<br />
&lt; dependencies &gt;&nbsp; &nbsp;<br />
&lt; dependency &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; ojdbc &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; ojdbc &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 14 &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt;/ dependency &gt;&nbsp; &nbsp;<br />
&lt; dependency &gt;&nbsp; &nbsp;<br />
&lt; groupId &gt; junit &lt;/ groupId &gt;&nbsp; &nbsp;<br />
&lt; artifactId &gt; junit &lt;/ artifactId &gt;&nbsp; &nbsp;<br />
&lt; version &gt; 3.8.1 &lt;/ version &gt;&nbsp; &nbsp;<br />
&lt;/ dependency &gt;&nbsp; &nbsp;<br />
&lt;/ dependencies &gt;&nbsp; &nbsp;<br />
&lt;/ project &gt;&nbsp; &nbsp;<br />
<br />
保存之，则发现工程管理透视图发生了一点变化,依此方法再加上jdbc的架包，现在可以开始写程序了，建一个类并添加main函数，编写程序如下：<br />
java 代码<br />
public&nbsp;&nbsp; static&nbsp;&nbsp; void&nbsp; main( String[] args )&nbsp; &nbsp;<br />
{&nbsp; &nbsp;<br />
Connection conn =&nbsp; null ;&nbsp; &nbsp;<br />
PreparedStatement ps =&nbsp; null ;&nbsp; &nbsp;<br />
ResultSet rs =&nbsp; null ;&nbsp; &nbsp;<br />
try&nbsp; {&nbsp; &nbsp;<br />
Class.forName( "oracle.jdbc.driver.OracleDriver" );&nbsp; &nbsp;<br />
conn = DriverManager.getConnection( "jdbc:oracle:thin:@(description=(ad dress_list=(address=(protocol=TCP)(port=1521)(host=192.168.0.240)))(connect_data=(SE RVER = DEDICATED)(SERVICE_NAME = db.efriendnet.com)))" ,&nbsp; "efnx" ,&nbsp; "efnx" );&nbsp; &nbsp;<br />
ps = conn.prepareStatement( "select * From tb_partyinfo" );&nbsp; &nbsp;<br />
rs = ps.executeQuery();&nbsp; &nbsp;<br />
while (rs.next())&nbsp; &nbsp;<br />
{&nbsp; &nbsp;<br />
System.out.println(rs.getString( "topic" ));&nbsp; &nbsp;<br />
}&nbsp; &nbsp;<br />
}&nbsp; catch&nbsp; (Exception e) {&nbsp; &nbsp;<br />
System.out.print(e.getMessage());&nbsp; &nbsp;<br />
}&nbsp; &nbsp;<br />
finally&nbsp; &nbsp;<br />
{&nbsp; &nbsp;<br />
if&nbsp; (rs !=&nbsp; null ) { try&nbsp; {rs.close();}&nbsp; catch&nbsp; (SQLException e) {}}&nbsp; &nbsp;<br />
if&nbsp; (ps !=&nbsp; null ) { try&nbsp; {ps.close();}&nbsp; catch&nbsp; (SQLException e) {}}&nbsp; &nbsp;<br />
if&nbsp; (conn !=&nbsp; null ) { try&nbsp; {conn.close();}&nbsp; catch&nbsp; (SQLException e) {}}&nbsp; &nbsp;<br />
}&nbsp; &nbsp;<br />
} &nbsp;<br />
<br />
别忘了import相应的包<br />
&nbsp;&nbsp; <br />
<br />
<br />
<span style="color: red;">八、</span><span style="color: red;">编译程序</span><br />
采用maven构建系统，则编译过程就独立了出来。这时你再用eclipse自带的编 译工具就不起作用了。所以要想编译、调试、运行还要做一些工作。以前是在dos命令行方式下进行编译，现在的插件很好用，在eclipse配置一下就可以 编译了。很方便。现在就做一个介绍。<br />
<br />
Eclipse有一个扩展工具就是用来集成其他构建工具的在工程的节点上点击鼠标右键，选择属性，在&#8220;编译&#8221;的右边窗口选择&#8221;新建&#8221;按钮，在对话框的&#8220;name&#8221;中输入：study,点击&#8220;Browse Workspace&#8230;&#8221;列出工程列表供选择。<br />
选择完毕后，在goals中输入package。别忘了apply.好了，让我们Run吧。如果一切正常，<br />
控制台会打出maven的编译信息如下：<br />
[INFO] ---------------------------------------------------------------------<br />
[INFO] Building Maven Quick Start Archetype<br />
[INFO] task-segment: [package]<br />
[INFO] ---------------------------------------------------------------------<br />
[INFO] resources:resources<br />
[INFO] Using default encoding to copy filtered resources.<br />
[INFO] compiler:compile<br />
[INFO] Nothing to compile - all classes are up to date<br />
[INFO] resources:testResources<br />
[INFO] Using default encoding to copy filtered resources.<br />
[INFO] compiler:testCompile<br />
[INFO] Nothing to compile - all classes are up to date<br />
[INFO] surefire:test<br />
[INFO] Surefire report directory: D:"eclipse"workspace"study"target"s<br />
urefire-reports<br />
-------------------------------------------------------<br />
T E S T S<br />
-------------------------------------------------------<br />
Running com.efn.AppTest<br />
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec<br />
Results :<br />
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0<br />
[INFO] jar:jar<br />
[INFO] Building jar: D:"eclipse"workspace"study"target"study-1.0-SNAPSHOT.jar<br />
[INFO] ----------------------------------------------------------------------------<br />
[INFO] BUILD SUCCESSFUL<br />
[INFO] ---------------------------------------------------------------------<br />
[INFO] Total time: 4 second<br />
[INFO] Finished at: Fri Aug 04 10:55:42 CST 2006<br />
[INFO] Memory 2M/7M<br />
[INFO] --------------------------------------------------------------------<br />
注意，别忘了每一次程序改动完毕后都要经过这一步编译。因为这是maven的编译器！<br />
<br />
<span style="color: red;">九、调</span><span style="color: red;">试程序</span><br />
经过以上步骤我们已经完成了mave管理下的软件生命周期，但是作为一个程序开发人员我们还要进行调试。这里的调试设置和普通的java程序的调试是一样的。<br />
首先，打开debug对话框：<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 因为是一个一般的java应用程序，所以我们选择 Java Application,点击&#8220;New&#8221;按钮，输入一些相应的参数，apply-Debug<br />
Ok,一切正常！希望你也顺利！<br />
<br />
<span style="color: red;">十、结束语</span><br />
本文只是简单的对maven的操作步骤做一个指南性的说明，实际应用还有很多东西需要实践。如果发现哪里有错误和纰漏也欢迎批评指正！<br />
<br />
<br />
转自： <a href="http://blog.csdn.net/ph9527/archive/2009/12/10/4982351.aspx">http://blog.csdn.net/ph9527/archive/2009/12/10/4982351.aspx</a><br />
&nbsp;&nbsp; 略有修改。<img src ="http://www.blogjava.net/gen-sky/aggbug/326731.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2010-07-21 13:42 <a href="http://www.blogjava.net/gen-sky/articles/326731.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>ant 学习笔记 (一)  </title><link>http://www.blogjava.net/gen-sky/articles/284054.html</link><dc:creator>星期五</dc:creator><author>星期五</author><pubDate>Thu, 25 Jun 2009 01:05:00 GMT</pubDate><guid>http://www.blogjava.net/gen-sky/articles/284054.html</guid><wfw:comment>http://www.blogjava.net/gen-sky/comments/284054.html</wfw:comment><comments>http://www.blogjava.net/gen-sky/articles/284054.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/gen-sky/comments/commentRss/284054.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/gen-sky/services/trackbacks/284054.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Ant 学习笔记（1）<br />
<span style="color: red;">&nbsp;介绍、下载、说明、安装</span><br />
<br />
Ant 全名： Another Neat Tool ,意思是另一个清洁工具。<br />
<br />
Ant 介绍:<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant 是构建工具,是Apache 的一个项目，是一个基于JAVA的build工具，用来编译、运行、测试JAVA<br />
&nbsp;&nbsp;&nbsp; 程序，构建、包装和发布任务。<br />
Ant 优势：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; * 操作方便，只需在命令行输入 ant ,它就会自动寻找 build.xml文件。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; * 良好的跨平台，可以在各种平台上运行。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; * 结构清晰，能让开发人员运行各种各样的任务。<br />
Ant 下载：<br />
&nbsp;&nbsp;&nbsp; http://ant.apache.org/<br />
Ant 配置：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1.环境变量中，查找 Path 变量并选中，然后编辑，如果没有新建，，在弹出的&#8220;系统变量&#8221;对象话中设定<br />
&nbsp;&nbsp;&nbsp; 系统变量 Path,Path = D:\*\Apache-ant- 1.7.0\bin<br />
&nbsp;&nbsp;&nbsp; &nbsp; 2.单击&#8220;系统变量&#8221;选项卡中的新建按钮，创建 ANT_HOME=D:\*\apache-ant-1.7.0<br />
&nbsp;&nbsp;&nbsp; &nbsp; 3.在cmd命令框中输入ant 命令，即可查看 Ant&nbsp; 是否安装成功<br />
&nbsp;&nbsp;&nbsp; &nbsp; 注意：<br />
&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; ant 启动时，自动加载 build.xml 项目配置文件，如果取别的名字，使用 buildfile标记<br />
&nbsp;&nbsp;&nbsp; &nbsp; &nbsp;&nbsp;&nbsp; 运行 Ant ,比如： ant -buildfile gd.xml<br />
Ant 的使用方法：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; Ant 的配置运行文件是 build.xml，一般放在项目根目录下，通过运行它即可完成相应工作。<br />
Ant 能完成的工作：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; init ,初始化工作，即在进行打包、部置之前对环境进行一些初始化工作。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; compile,编译工作，即将java代码编译成class;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; javadoc，生成文档，即用来生成API的相关文档;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; jar,打包工作，即用来将编译后的class文件打成jar;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; deploy,部署工作，即用来对打好的jar或war进行部署；<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; clean,清除工作，即用来清空初始化的环境；<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; all,执行全部任务。<br />
<span style="background-color: #ffffff;"><br />
<span style="background-color: yellow;"><span style="background-color: yellow;"><span style="background-color: #ffffff;">&nbsp;<span style="color: red;">元素属性说明</span></span></span></span></span><br />
&nbsp;&nbsp;&nbsp; 一般来讲,一个XML文件要包含 project 和target 两个元素<br />
&nbsp;&nbsp;&nbsp; 1.project 元素的属性:<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name:表示一个工程的名字.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; default:每个project都包含一个或多个target,一个target又包含一系列想要执行的task,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 当Ant 开始运行时,开发人员可以选择target执行.如果没有 target 被指定执行时,默认的任务<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 将执行.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; basedir:当前工程的基本路径,"."表示当前工程的根目录.<br />
&nbsp;&nbsp;&nbsp; 2.一个project有一系列的property,property类似于全局变量,包含name和value两个属性.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name:变量名称.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; value:变量值.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 属性该问的方法:${property-name};<br />
&nbsp;&nbsp;&nbsp; 3.Ant 内置的属性<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; basedir:工程的路径.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant.file:build文件的路径.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant.version:版本.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant.project.name:工程名.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant.java.version:jvm版本.<br />
&nbsp;&nbsp;&nbsp; 4.target 元素的属性<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; name:指定目录名称.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; depends:指定所依赖的target.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; if:条件,如果不满足条件则不执行.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; unless:条件,如果不满足条件则不执行.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; description:对target 的描述.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; task:一小段的任务.<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; reference:引用,通过refid属性来引用在其他节中定义的ID.<br />
<br />
<span style="color: red;">ant 的基本语法介绍：</span><br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 1.ant 命令行，最常用的命令分析如下：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //应用 build.xml 作为默认的脚本文件，目录路径默认。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //应用 test.xml 作为默认的脚本文件，目录路径默认。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant&nbsp; -builefile test.xml<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; // 应用 test.xml 作为默认的脚本文件，目录路径设置为 dist<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant -builefile test.xml dist<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; //应用test.xml 作为默认的脚本文件，目标路径设置为 dist ，并且把构建的属性文件放在<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp; buile/classes&nbsp; 下<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;ant -buildfile test.xml -Dbuile=buile/classes dist<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;//执行从/home/ant/extras 添加的任务和jar 包<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;ant -lib /home/ant/extras<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 想了解更多的命令，可以运行 ant -H获取命令列表。<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 2.添加属性文件<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;property file="${basedir}/build.properties" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 3.CLASSPATH设置，示例如下：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;path id="classpath"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;pathelement path="${hibernate_jar}"/&gt;&nbsp; //从什么地方加载<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;fileset dir="${lib.dir}"&gt; //设置文件夹<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;include name="**/*.jar" /&gt;&nbsp;&nbsp; //将.jar 放在dir中<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/filest&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/path&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 以上代码与设置 CLASSPATH=/***/*.jar;/***/*.jar;是等效的<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 4.文件COPY命令，示例代码如下：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!-- 拷贝源文件 --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;copy todir="${build.src}"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;fileset dir="${src.dir}"/&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/copy&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 5.打包任务jar 命令，示例代码如下<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!-- 打包文件 --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jar jarfil="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 6.生成JAVADOC的命令，示例代码如下：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;javadoc pachagename="${[aclages}"&nbsp;&nbsp;&nbsp;&nbsp; //包名<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; sourcepath="${build.src}"&nbsp;&nbsp;&nbsp; // 源文件路径<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; destdir="${build.javadosc}"&nbsp; // 目标路径<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; author="true"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; version="true"&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //是否带有版本信息<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; use="true"&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;// <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; splitindex="true"<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; windowtitle="${NAME}API"<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; doctitle="${NAME}"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;javadoc&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 7.删除命令，示例代码如下所示：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;delete dir="${dir.build}" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; ant 在线文档，地址是：http://ant.apache.org/manual/index.html<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; 8.后台打印命令<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;echo message="jdk version: 1.5.0" /&gt;<br />
<br />
<span style="color: red;">一些常用的 ant 文件：<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;  &lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&lt;!-- ====================================================================== <br />
&nbsp;&nbsp;&nbsp;&nbsp; 2007-10-24 上午09:01:29&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; project&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; description<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; yihang&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp; ====================================================================== --&gt;<br />
&lt;project name="project" default="default"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;description&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 转换字符<br />
&nbsp;&nbsp;&nbsp; &lt;/description&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;target name="help"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;echo message=" this is&nbsp; help"&gt;&lt;/echo&gt;<br />
&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
<br />
&nbsp;&nbsp;&nbsp; &lt;!-- ================================= <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; target: default&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ================================= --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="default" description="--&gt; description"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;native2ascii dest="." includes="src/com/news/struts/*.txt" encoding="GBK" ext=".properties"&gt;&lt;/native2ascii&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
<br />
&lt;/project&gt;<br />
<br />
元素说明：<br />
&lt;?xml version="1.0"?&gt;<br />
&lt;!--配置myApp的Ant文件，将gd包中的内容打成jar --&gt;<br />
&lt;project name="myApp" default="init" basedir="."&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="myApp.home" value="." /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="myApp.lib" value="${myApp.home}/WEB-INF/lib" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="myApp.jar" value="${myApp.home}/WEB-INF/lib" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="myApp.classes" value="${myApp.home}/WEB-INF/classes" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--配置使用Tomcat所在的目录 --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;property name="tomcat.home" value="D\:/apache-tomcat-6.0.2" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--&lt;property file="build.properties" /&gt;以上内容还可以定义在build.properties中--&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="init"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;path id="all"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!--初始化时需要使用的jar --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;fileset dir="${myApp.lib}"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;include name="**/*.jar" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/fileset&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!--初始化时需要使用的jar --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;fileset dir="${tomcat.home}/common/lib"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;include name="*.jar" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/fileset&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/path&gt;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!--创建目录 --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;mkdir dir="${myApp.classes}" /&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--定义 target --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--清空生成的calss --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="clean"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp; &lt;!-- 删除目录 --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;delete dir="${myApp.classes}"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/delete&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--定义target,该target依赖于init,编译时需要依赖与初始化的结果 --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="compile" depends="init"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!--编译时使用的版本是1.5 --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;javac srcdir="${myApp.home}/WEB-INF/src"</span><span style="border-collapse: separate; color: #000000; font-family: Simsun; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; font-size: medium;"><span style="font-family: Arial,sans-serif,Helvetica,Tahoma; font-size: 12px; line-height: 18px; text-align: left;">encoding="utf-8"&nbsp; </span></span><span style="color: red;">destdir="${myApp.classes}" target="1.5"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;classpath refid="all" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/javac&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--定义target,该target 依赖于 compile,com.gd包下的代码打成加，命名为nancy2.0.0.jar --&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="jar" depends="compile"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;jar jarfile="${myApp.jar}/nancy2.0.0.jar" basedir="${myApp.classes}" includes="com/gd/**"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/jar&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;!--将myApp项目打成war文件--&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;target name="war" depends="jar"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;war destfile="${myApp.home}/myApp.war" webxml="${myApp.home}/WEB-INF/web.xml"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!-- 包含该文件夹下所有内容 --&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;fileset dir="${myApp.home}" casesensitive="yes"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;include name="WEB-INF/**" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;exclude name="*.war" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/fileset&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;!--所依赖的jar--&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;lib dir="${myApp.home}/WEB-INF/lib"&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;include name="*.jar" /&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/lib&gt;<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &lt;/war&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/target&gt;<br />
&lt;/project&gt;<br />
<br />
<br />
</span><br />
<br />
<br />
 <img src ="http://www.blogjava.net/gen-sky/aggbug/284054.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/gen-sky/" target="_blank">星期五</a> 2009-06-25 09:05 <a href="http://www.blogjava.net/gen-sky/articles/284054.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>