??xml version="1.0" encoding="utf-8" standalone="yes"?>精品三级久久,91福利精品第一导航,91精品国产综合久久小美女http://www.aygfsteel.com/gen-sky/category/51819.html勤思、}a、慎行、厚U、薄?/description>zh-cnMon, 28 May 2012 08:35:32 GMTMon, 28 May 2012 08:35:32 GMT60- [扩展] maven 参考资?http://www.aygfsteel.com/gen-sky/articles/326743.html星期?/dc:creator>星期?/author>Wed, 21 Jul 2010 07:15:00 GMThttp://www.aygfsteel.com/gen-sky/articles/326743.htmlhttp://www.aygfsteel.com/gen-sky/comments/326743.htmlhttp://www.aygfsteel.com/gen-sky/articles/326743.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/326743.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/326743.html
[2]Maven POM文g参考结? http://maven.apache.org/ref/current/maven-model/maven.html
[3]Super POM. http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
[4]Maven主要插g的列? http://maven.apache.org/plugins
[5]Maven基本使用指南. http://maven.apache.org/guides/index.html
[6]Better Build with Maven. http://www.mergere.com/m2book_download.jsp -- 强烈推荐
[7]介绍Maven2. http://www.javaworld.com/javaworld/jw-12-2005 /jw-1205-maven_p.html
[8]揭秘Maven2 POM. http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html
[9]Maven让事情变得简? http://www-128.ibm.com/developerworks/cn/java/j-maven
[10]Maven文档? http://docs.codehaus.org/display/MAVENUSER/Home
[11]有效利用Maven2的站点生成功? http://www.matrix.org.cn/resource/article/44/44491_Maven2.html
]]> - [入门] maven的简单教E?Q二Q? 常用命o、创建工E?/title>http://www.aygfsteel.com/gen-sky/articles/326742.html星期?/dc:creator>星期?/author>Wed, 21 Jul 2010 07:08:00 GMThttp://www.aygfsteel.com/gen-sky/articles/326742.htmlhttp://www.aygfsteel.com/gen-sky/comments/326742.htmlhttp://www.aygfsteel.com/gen-sky/articles/326742.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/326742.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/326742.html
1. 创徏 App 工程
mvn archetype:create -DgroupId=ce.demo.mvn -DartifactId=app
2. 创徏 webApp 工程
D:\>mvn archetype:create -DgroupId=ce.demo.mvn
-DartifactId=webapp -DarchetypeArtifactId=maven-archetype-webapp
二、关键字
ProjectQQ何您想build的事物,Maven都可以认为它们是工程。这些工E被定义为工E对象模?POMQPoject Object
Model)。一个工E可以依赖其它的工程Q一个工E也可以由多个子工程构成?br />
POMQPOM(pom.xml)是Maven的核心文Ӟ它是指示Maven如何工作的元数据文gQ类gAnt中的build.xml文g。POM文g位于每个工程的根目录中?br />
GroupIdQgroupId是一个工E的在全局中唯一的标识符Q一般地Q它是工程名。groupId有利于用一个完全的包名Q将一个工E从其它有类似名U的工程里区别出来?br />
ArtifactQartifact是工E将要生或需要用的文gQ它可以是jar文gQ源文gQ二q制文gQwar文gQ甚xpom文g。每个artifact都由groupId和artifactIdl合的标识符唯一识别。需要被使用(依赖)的artifact都要攑֜仓库(见Repository)中,否则Maven无法扑ֈ(识别)它们?br />
DependencyQؓ了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,q些被依赖的包就被称为dependency。dependency一般是其它工程的artifact?br />
Plug-inQMaven是由插gl织的,它的每一个功能都是由插g提供的。插件提供goal(cM于Ant中的target)QƈҎ在POM中找到的元数据去完成工作。主要的Maven插g要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件?br />
RepositoryQ仓库用于存放artifactQ它可以是本C库,也可以是q程仓库。Maven有一个默认的q程仓库--centralQ可以从http://www.ibiblio.org/maven/下蝲其中的artifact。在Windowsq_上,本地仓库的默认地址?font color="#0000ff">User_Home".m2"repository?br />
SnapshotQ工E中可以(也应?有一个特D版本,它的版本号包?em>SNAPSHOT字样。该版本可以告诉MavenQ该工程正处于开发阶D,会经常更?但还未发?。当其它工程使用此类型版本的artifactӞMaven会在仓库中寻找该artifact的最新版本,q自动下载、用该最新版?br />
三、常用命?br />
1.mvn clean –
消除工程(包括所有子工程)中生的所有输出。这本文的实例中Q实际上是删除target目录。由于之前的操作只有app工程产生了target目录Q而webappq没有,所以将只会删除app工程中的target目录?br />
2.mvn package –
工E制作成相应的包Qapp工程是作成jar?app-1.0.jar)Qwebapp工程是作成war?webapp-1.0.war)。打开webapp-1.0.war包,可以发现app-1.0.jar被放CWEB-INF的lib目录中?br />
3.创徏Maven目Q?span style="color: #4876ff;">mvn archetype:create
4.~译源代码:mvn compile
5.~译试代码Q?span style="color: #ff0000;">mvn test-compile
6.q行试Q?span style="color: #ff0000;">mvn test
7.产生siteQ?span style="color: #ff0000;">mvn site
8.打包Q?span style="color: #ff0000;">mvn package
9.在本地Repository中安装jarQ?span style="color: #ff0000;">mvn install
10. mvn eclipse:eclipse Q生?Eclipse 目文g

]]> - [入门] maven的简单教E?Q一Q?/title>http://www.aygfsteel.com/gen-sky/articles/326731.html星期?/dc:creator>星期?/author>Wed, 21 Jul 2010 05:42:00 GMThttp://www.aygfsteel.com/gen-sky/articles/326731.htmlhttp://www.aygfsteel.com/gen-sky/comments/326731.htmlhttp://www.aygfsteel.com/gen-sky/articles/326731.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/326731.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/326731.html一、前a
推荐二遍文章
Maven 2.0:~译、测试、部|Ӏ运?br />
http://www.ideagrace.com/html/doc/2006/06/14/00847.html
Maven2 的新Ҏ?br />
http://www-128.ibm.com/developerworks/cn/opensource/os-maven2/index.html
?/span>?/span>maven2安装
1、首先去官方|站下蝲之:http://maven.apache.org/download.html Q我选择的是截至目前最新版本maven2.0.4版本
2、设|环境变量:Maven2下蝲完后Q我其解压到我的计机的d:\maven204下,目录l构如下Q?br />
D:\
|--Maven204
|-- bin
|-- conf
|-- core
|-- lib
|-- local
环境变量Q(操作pȝwindows2003Q?br />
我的电脑----属?---高----环境变量Q点?#8220;pȝ变量”下的新徏Q输入:变量?MAVEN_HOME; 变量值d:\Maven204Q在pȝ变量列表中找到系l变量pathQ打开之,在变量gq加";%MAVEN_HOME%\bin”Q至此环境变量设|完毕?br />
查一下是否已l完成安装,打开dosH口Q输入mvn –vQ如果出C下信息则表示maven2已经安装成功Q?br />
XQ〉mvn –v
Maven Version 2.0.4
三、用maven2创徏W一个java工程
1、选择一个根目录Q我的java工作目录是D:\eclipse\workspace
2、打开dosH口采用cd命oq入D:\eclipse\workspace目录?br />
3、输入下列指?br />
D:\eclipse\workspace>mvn archetype:create -DgroupId=com.efn -DartifactId=study
指o执行完毕会出现如下的目录l构Q?br />
study
-- pom.xml
-- src
|-- main
| `-- java
| `-- com
| `-- mycompany
| `-- app
| `-- App.java
-- test
|`-- java
|`-- com
|`-- mycompany
|`-- app
|`-- AppTest.java
四、生成eclipse工程文g
我采用的开发工heclipse,所以用maven的eclipse参数生成eclipse工程文g。输入如?br />
1?采用dos的cd命oq入study目录
2?输入指oQmvn eclipse:eclipse 如下所C:
D:\eclipse\workspace\study>mvn eclipse:eclipse
指o执行完毕后,发现多了两个文gQ?classpath?project
五?/span>下蝲maven的eclipse插g
1、打开eclipse
2、打开菜单 help -Software updates-Find and Install
3、选择W二,q入下一?br />
4、点L?#8220;New Remote Site…”
5、在Name中输入:Maven2Q在URL中输入http://m2eclipse.codehaus.org/
Ok,现在一切都是自动化的,你所需要做的就是等待ƈ按提C按按钮?br />
/*
作者是自动。我的输入后提示Q?br />

我的只能手动下蝲插gQƈ安装到IDE 上了?br />
*/
六、导?/span>工程
刚才已经生成了eclipse的工E文Ӟ现在导入之。菜单File-import Q按“下一?#8221;Q选择工程文g导入完毕后,工程理透视囑ְ会出现study节点了,在工E节点上Q按鼠标右键Q打开弹出菜单Q选择maven2菜单, 弹出子菜?>EnableQ点M打开Q在Group Id中输入:study卛_?br />
打开study的pom.xml文gQ会有如下类似内容:
xml 代码
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi = http ://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation = "http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd " >
< modelVersion > 4.0.0 </ modelVersion >
< groupId > com.efn </ groupId >
< artifactId > study </ artifactId >
< packaging > jar </ packaging >
< version > 1.0-SNAPSHOT </ version >
< name > Maven Quick Start Archetype </ name >
< url > http://maven.apache.org </ url >
</ project >
注意Q有兌个文件的作用和各节点的作用不是本文的描述重点Q可以到maven的官方网站查阅http://maven.apache.org/ 目前为止Q所有的准备工作都已l就l,现在我们׃一个主main函数讉K数据库ؓ例介l在实际开发中的用?br />
七、搭建架?/span>
每一个java工程都不免用第三方的架包,Maven的好处就是可以统一理q些?包,q多个java工程׃nq些架包。我们所需要做的就是按规则~辑pom.xml文g。Maven已经非常Q用maven的eclipse插g的向|只要输入参数可以将配置文g生成出来。我们的例子是用jdbc方式讉Koracle的数据库。所以需要jdbc和oracle的架包的支持。下 面我们就来搭两个架包到study工程里来?br />
有两U方式可以采用:
1、自动向?br />
W一U是采用向导方式q让向导直接去maven的服务器 上下载你需要的架包Q这U方式存在一定的风险Q一来可能maven的服务器上ƈ没有你需要的东东Q二来每ơ智能的mavenLdNq不存在的东东?抛出一大堆U字提示不说Q达不到预期目标才是让h郁闷。不qؓ了保证文档的完整性,q是l出操作步骤。以junitZQ这个东东倒是没有问题Q呵呵)?工程的maven被Enable后,弹出菜单的maven2子菜Q选择子菜单的“Add Dependency”菜单,在Query中输?#8220;junit”Q向g自动列出相关列表供选择。选择你最需要的架包Q按“OK” 按钮?br />
如果你的本地仓库已经存在该架包,则向导只在pom.xml加入依赖信息,pom.xml文g的内容如?br />
xml 代码
< project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns:xsi ="http:// www.w3.org/2001/XMLSchema-instance " xsi:schemaLocation ="http://maven.apache.org/POM/4.0.0 http://maven. " apache.org/maven-v4_0_0.xsd >
< modelVersion > 4.0.0 </ modelVersion >
< groupId > com.efn </ groupId >
< artifactId > study </ artifactId >
< packaging > jar </ packaging >
< version > 1.0-SNAPSHOT </ version >
< name > Maven Quick Start Archetype </ name >
< url > http://maven.apache.org </ url >
< dependencies >
< dependency >
< groupId > junit </ groupId >
< artifactId > junit </ artifactId >
< version > 3.8.1 </ version >
</ dependency >
</ dependencies >
</ project >
如果本地仓库没有Q则向导会去maven的服务器下蝲架包Qƈ在控制台输出下蝲日志如下Q?br />
06-8-4 上午09?1?7U? Local repository folder "" does not exist
06-8-4 上午09?1?1U? Reading /study/pom.xml
06-8-4 上午09?1?1U? Local repository folder "" does not exist
06-8-4 上午09?1?8U? Reading /study/pom.xml
06-8-4 上午09?1?8U? Local repository folder "" does not exist
06-8-4 上午09?1?9U? Reading /study/pom.xml
06-8-4 上午09?1?9U? Local repository folder "" does not exist
06-8-4 上午09?6?3U? Local repository folder "" does not exist
06-8-4 上午09?7?1U? Reading / study /pom.xml
06-8-4 上午09?7?1U? Local repository folder "" does not exist
06-8-4 上午09?7?5U? Local repository folder "" does not exist
06-8-4 上午09?0?7U? Local repository folder "" does not exist
06-8-4 上午09?0?8U? Reading / study /pom.xml
06-8-4 上午09?0?8U? Local repository folder "" does not exist
06-8-4 上午09?6?4U? Reading / study /pom.xml
06-8-4 上午09?6?4U? Local repository folder "" does not exist
06-8-4 上午09?6?8U? Local repository folder "" does not exist
06-8-4 上午09?6?0U? Local repository folder "" does not exist
06-8-4 上午09?6?7U? Local repository folder "" does not exist
06-8-4 上午09?6?7U? Reading / study /pom.xml
06-8-4 上午09?6?7U? Local repository folder "" does not exist
06-8-4 上午09 ?6 ?9 U? Downloading [central] -> http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom
06-8-4 上午09 ?6 ?9 U? Downloaded [central] -> http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.pom
06-8-4 上午09 ?6 ?1 U? Downloading [central] -> http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar
06-8-4 上午09?7?0U? Downloaded [central] -> http://repo1.maven.org/maven2/junit/junit/3.8.1/junit-3.8.1.jar
----------------------------------------------------------------
补充修正Q如果出现错误提C同时你手头也有架包的话可以采用maven的指令进行本地化安装。比如我在安装hibernate的架包时告诉我jta无法下蝲。要求本地化安装Q给出的提示如下Q?br />
1) javax.transaction:jta:jar:1.0.1B
Try downloading the file manually from:http://java.sun.com/products/jta.Then , install it using the command:
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta " -Dversion=1.0.1B -Dpackaging=jar -Dfile=/path/to/filePath to dependency:
1) com.efn:mywebapp:war:1.0-SNAPSHOT
2) org.hibernate:hibernate:jar:3.1rc2
3) javax.transaction:jta:jar:1.0.1B
----------
1 required artifact is missing.for artifact: com.efn:mywebapp-1.0-SNAPSHOT.warq个提示是说可以先到sun的网站下载jta架包Q然后采用命令行的方式按要求?装,因ؓ我本来就有此架包Q于是拷C个方便的位置Q比如c:",然后在命令行下输入:
mvn install:install-file -DgroupId=javax.transaction -DartifactId=jta -Dversion=1.0.1B -Dpackaging=jar -Dfile=C:/jta.jar
执行完毕后,一切OK!
--------------------------------------------------------------
2、手工配|?br />
手工配置比v自动化来说是ȝ了些Q不qQ何东东掌握在自己手里d是吃饱喝也不服了不是吗。而且配置一ơ就可以受益ln。更重要的是能解册动化?成不了的d。比如我现在要配|oracle的jdbc驱动Q采用自动化提C我下蝲不了让我改变下蝲地址{等Q真累?br />
了q是自己来吧?br />
手工配置前还是先介绍一下相兌景知识。首先了解一下jar仓库的概念,maven采用集中化的方式理架包Q凡用maven构徏的java工程都可以重 用统一理下的架包Q所以必L一个统一存放jar文g的地方,q就是jar仓库Q不论是开发还是部|都会徏立一个本C库。这个仓库的位置默认?X:\Documents and Settings\Administrator.LIPENG\.m2\repositoryQX是你操作pȝ所在盘W)下,你可以修攚w|文件改变默?的输Z|。该配置文g在maven目录下的conf子目录下。文件名叫settings.xml。在配置文g中加入如下节点信息即可D:/Repository。不q不改变Q好像eclipse的maven插g只认默认的输Z|。我是在这斚wZ问题搞了半天才发现是输出路径的问题,也许是我q?br />
没有玩{插g。谁要是解决此问题别忘了跟大家共享?br />
现在我们分析一下配|文件pom.xml的结构,以junitZQ格式如下:
xml 代码
< dependencies >
< dependency >
< groupId > junit </ groupId >
< artifactId > junit </ artifactId >
< version > 3.8.1 </ version >
</ dependency >
</ dependencies >
在来看看本地仓库目录l构
Repository
`-- junit
|-- junit
| `-- 3.8.1
| `-- junit-3.8.1.jar
现在大家应该明白了吧Q多余的话不说啦。照葫芦ȝ是。不q注意先建目录后写配|文Ӟ否则一旦保存,的插件就马上开始下载了…
现在开始手动徏立oracle的jdbc目录q|文?首先建立目录l构如下Q?br />
Repository
`-- ojdbc
|-- ojdbc
| `-- 14
| `-- ojdbc-14.jar
如果你手头的jar文g名叫ojdbc14.jarQ则改ؓojdbc-14.jar,写配|文?
xml 代码
< dependency >
< groupId > ojdbc </ groupId >
< artifactId > ojdbc </ artifactId >
< version > 14 </ version >
</ dependency >
那么现在一个完整的pom.xml文g如下Q?br />
xml 代码
<? xml version = "1.0" ?>
< project >
< modelVersion > 4.0.0 </ modelVersion >
< groupId > com.mycompany.app </ groupId >
< artifactId > myapp </ artifactId >
< name > Maven Quick Start Archetype </ name >
< version > 1.0-SNAPSHOT </ version >
< url > http://maven.apache.org </ url >
< dependencies >
< dependency >
< groupId > ojdbc </ groupId >
< artifactId > ojdbc </ artifactId >
< version > 14 </ version >
</ dependency >
< dependency >
< groupId > junit </ groupId >
< artifactId > junit </ artifactId >
< version > 3.8.1 </ version >
</ dependency >
</ dependencies >
</ project >
保存之,则发现工E管理透视囑֏生了一点变?依此Ҏ再加上jdbc的架包,现在可以开始写E序了,Z个类q添加main函数Q编写程序如下:
java 代码
public static void main( String[] args )
{
Connection conn = null ;
PreparedStatement ps = null ;
ResultSet rs = null ;
try {
Class.forName( "oracle.jdbc.driver.OracleDriver" );
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)))" , "efnx" , "efnx" );
ps = conn.prepareStatement( "select * From tb_partyinfo" );
rs = ps.executeQuery();
while (rs.next())
{
System.out.println(rs.getString( "topic" ));
}
} catch (Exception e) {
System.out.print(e.getMessage());
}
finally
{
if (rs != null ) { try {rs.close();} catch (SQLException e) {}}
if (ps != null ) { try {ps.close();} catch (SQLException e) {}}
if (conn != null ) { try {conn.close();} catch (SQLException e) {}}
}
}
别忘了import相应的包
八?/span>~译E序
采用maven构徏pȝQ则~译q程q立了出来。这时你再用eclipse自带的编 译工具就不v作用了。所以要想编译、调试、运行还要做一些工作。以前是在dos命o行方式下q行~译Q现在的插g很好用,在eclipse配置一下就可以 ~译了。很方便。现在就做一个介l?br />
Eclipse有一个扩展工具就是用来集成其他构建工L在工E的节点上点击鼠标右键,选择属性,?#8220;~译”的右边窗口选择”新徏”按钮Q在对话框的“name”中输入:study,点击“Browse Workspace…”列出工程列表供选择?br />
选择完毕后,在goals中输入package。别忘了apply.好了Q让我们Run吧。如果一切正常,
控制C打出maven的编译信息如下:
[INFO] ---------------------------------------------------------------------
[INFO] Building Maven Quick Start Archetype
[INFO] task-segment: [package]
[INFO] ---------------------------------------------------------------------
[INFO] resources:resources
[INFO] Using default encoding to copy filtered resources.
[INFO] compiler:compile
[INFO] Nothing to compile - all classes are up to date
[INFO] resources:testResources
[INFO] Using default encoding to copy filtered resources.
[INFO] compiler:testCompile
[INFO] Nothing to compile - all classes are up to date
[INFO] surefire:test
[INFO] Surefire report directory: D:"eclipse"workspace"study"target"s
urefire-reports
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running com.efn.AppTest
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.157 sec
Results :
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0
[INFO] jar:jar
[INFO] Building jar: D:"eclipse"workspace"study"target"study-1.0-SNAPSHOT.jar
[INFO] ----------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ---------------------------------------------------------------------
[INFO] Total time: 4 second
[INFO] Finished at: Fri Aug 04 10:55:42 CST 2006
[INFO] Memory 2M/7M
[INFO] --------------------------------------------------------------------
注意Q别忘了每一ơ程序改动完毕后都要l过q一步编译。因是maven的编译器Q?br />
九、调试程?/span>
l过以上步骤我们已经完成了mave理下的软g生命周期Q但是作Z个程序开发h员我们还要进行调试。这里的调试讄和普通的javaE序的调试是一L?br />
首先Q打开debug对话框:
因ؓ是一个一般的java应用E序Q所以我们选择 Java Application,点击“New”按钮Q输入一些相应的参数Qapply-Debug
Ok,一切正常!希望你也利Q?br />
十、结束语
本文只是单的对maven的操作步骤做一个指南性的说明Q实际应用还有很多东襉K要实c如果发现哪里有错误和纰漏也Ƣ迎批评指正Q?br />
转自Q?http://blog.csdn.net/ph9527/archive/2009/12/10/4982351.aspx
略有修改?img src ="http://www.aygfsteel.com/gen-sky/aggbug/326731.html" width = "1" height = "1" />
]]> - ant 学习W记 (一) http://www.aygfsteel.com/gen-sky/articles/284054.html星期?/dc:creator>星期?/author>Thu, 25 Jun 2009 01:05:00 GMThttp://www.aygfsteel.com/gen-sky/articles/284054.htmlhttp://www.aygfsteel.com/gen-sky/comments/284054.htmlhttp://www.aygfsteel.com/gen-sky/articles/284054.html#Feedback0http://www.aygfsteel.com/gen-sky/comments/commentRss/284054.htmlhttp://www.aygfsteel.com/gen-sky/services/trackbacks/284054.html
介绍、下载、说明、安?/span>
Ant 全名Q?Another Neat Tool ,意思是另一个清z工兗?br />
Ant 介绍:
ant 是构建工?是Apache 的一个项目,是一个基于JAVA的build工具Q用来编译、运行、测试JAVA
E序Q构建、包装和发布d?br />
Ant 优势Q?br />
* 操作方便Q只需在命令行输入 ant ,它就会自动寻?build.xml文g?br />
* 良好的跨q_Q可以在各种q_上运行?br />
* l构清晰Q能让开发h员运行各U各Ld?br />
Ant 下蝲Q?br />
http://ant.apache.org/
Ant 配置Q?br />
1.环境变量中,查找 Path 变量q中Q然后编辑,如果没有新徏Q,在弹出的“pȝ变量”对象话中讑֮
pȝ变量 Path,Path = D:\*\Apache-ant- 1.7.0\bin
2.单击“pȝ变量”选项卡中的新建按钮,创徏 ANT_HOME=D:\*\apache-ant-1.7.0
3.在cmd命o框中输入ant 命oQ即可查?Ant 是否安装成功
注意Q?br />
ant 启动Ӟ自动加蝲 build.xml 目配置文gQ如果取别的名字Q?buildfile标记
q行 Ant ,比如Q?ant -buildfile gd.xml
Ant 的用方法:
Ant 的配|运行文件是 build.xmlQ一般放在项目根目录下,通过q行它即可完成相应工作?br />
Ant 能完成的工作Q?br />
init ,初始化工作,卛_q行打包、部|之前对环境q行一些初始化工作?br />
compile,~译工作Q即java代码~译成class;
javadocQ生成文档,即用来生成API的相x?
jar,打包工作Q即用来编译后的class文g打成jar;
deploy,部v工作Q即用来Ҏ好的jar或warq行部vQ?br />
clean,清除工作Q即用来清空初始化的环境Q?br />
all,执行全部d?br />
元素属性说?/span>
一般来?一个XML文g要包?project 和target 两个元素
1.project 元素的属?
name:表示一个工E的名字.
default:每个project都包含一个或多个target,一个target又包含一pd惌执行的task,
当Ant 开始运行时,开发h员可以选择target执行.如果没有 target 被指定执行时,默认的Q?br />
执?
basedir:当前工程的基本\?"."表示当前工程的根目录.
2.一个project有一pd的property,propertycM于全局变量,包含name和value两个属?
name:变量名称.
value:变量?
属性该问的Ҏ:${property-name};
3.Ant 内置的属?br />
basedir:工程的\?
ant.file:build文g的\?
ant.version:版本.
ant.project.name:工程?
ant.java.version:jvm版本.
4.target 元素的属?br />
name:指定目录名称.
depends:指定所依赖的target.
if:条g,如果不满x件则不执?
unless:条g,如果不满x件则不执?
description:对target 的描q?
task:一段的Q?
reference:引用,通过refid属性来引用在其他节中定义的ID.
ant 的基本语法介l:
1.ant 命o行,最常用的命令分析如下:
//应用 build.xml 作ؓ默认的脚本文Ӟ目录路径默认?br />
ant
//应用 test.xml 作ؓ默认的脚本文Ӟ目录路径默认?br />
ant -builefile test.xml
// 应用 test.xml 作ؓ默认的脚本文Ӟ目录路径讄?dist
ant -builefile test.xml dist
//应用test.xml 作ؓ默认的脚本文Ӟ目标路径讄?dist Qƈ且把构徏的属性文件放?br />
buile/classes ?br />
ant -buildfile test.xml -Dbuile=buile/classes dist
//执行?home/ant/extras d的Q务和jar ?br />
ant -lib /home/ant/extras
想了解更多的命oQ可以运?ant -H获取命o列表?br />
2.d属性文?br />
<property file="${basedir}/build.properties" />
3.CLASSPATH讄Q示例如下:
<path id="classpath">
<pathelement path="${hibernate_jar}"/> //从什么地方加?br />
<fileset dir="${lib.dir}"> //讄文g?br />
<include name="**/*.jar" /> //?jar 攑֜dir?br />
</filest>
</path>
以上代码与设|?CLASSPATH=/***/*.jar;/***/*.jar;是等效的
4.文gCOPY命oQ示例代码如下:
<!-- 拯源文?-->
<copy todir="${build.src}">
<fileset dir="${src.dir}"/>
</copy>
5.打包djar 命oQ示例代码如?br />
<!-- 打包文g -->
<jar jarfil="${dist}/lib/MyProject-${DSTAMP}.jar" basedir="${build}" />
6.生成JAVADOC的命令,CZ代码如下Q?br />
<javadoc pachagename="${[aclages}" //包名
sourcepath="${build.src}" // 源文件\?br />
destdir="${build.javadosc}" // 目标路径
author="true"
version="true" //是否带有版本信息
use="true" //
splitindex="true"
windowtitle="${NAME}API"
doctitle="${NAME}">
<javadoc>
7.删除命oQ示例代码如下所C:
<delete dir="${dir.build}" />
ant 在线文档Q地址是:http://ant.apache.org/manual/index.html
8.后台打印命o
<echo message="jdk version: 1.5.0" />
一些常用的 ant 文gQ?br />
<?xml version="1.0" encoding="UTF-8"?>
<!-- ======================================================================
2007-10-24 上午09:01:29
project
description
yihang
====================================================================== -->
<project name="project" default="default">
<description>
转换字符
</description>
<target name="help">
<echo message=" this is help"></echo>
</target>
<!-- =================================
target: default
================================= -->
<target name="default" description="--> description">
<native2ascii dest="." includes="src/com/news/struts/*.txt" encoding="GBK" ext=".properties"></native2ascii>
</target>
</project>
元素说明Q?br />
<?xml version="1.0"?>
<!--配置myApp的Ant文gQ将gd包中的内Ҏ成jar -->
<project name="myApp" default="init" basedir=".">
<property name="myApp.home" value="." />
<property name="myApp.lib" value="${myApp.home}/WEB-INF/lib" />
<property name="myApp.jar" value="${myApp.home}/WEB-INF/lib" />
<property name="myApp.classes" value="${myApp.home}/WEB-INF/classes" />
<!--配置使用Tomcat所在的目录 -->
<property name="tomcat.home" value="D\:/apache-tomcat-6.0.2" />
<!--<property file="build.properties" />以上内容q可以定义在build.properties?->
<target name="init">
<path id="all">
<!--初始化时需要用的jar -->
<fileset dir="${myApp.lib}">
<include name="**/*.jar" />
</fileset>
<!--初始化时需要用的jar -->
<fileset dir="${tomcat.home}/common/lib">
<include name="*.jar" />
</fileset>
</path>
<!--创徏目录 -->
<mkdir dir="${myApp.classes}" />
</target>
<!--定义 target -->
<!--清空生成的calss -->
<target name="clean">
<!-- 删除目录 -->
<delete dir="${myApp.classes}">
</delete>
</target>
<!--定义target,该target依赖于init,~译旉要依赖与初始化的l果 -->
<target name="compile" depends="init">
<!--~译时用的版本?.5 -->
<javac srcdir="${myApp.home}/WEB-INF/src"encoding="utf-8" destdir="${myApp.classes}" target="1.5">
<classpath refid="all" />
</javac>
</target>
<!--定义target,该target 依赖?compile,com.gd包下的代码打成加Q命名ؓnancy2.0.0.jar -->
<target name="jar" depends="compile">
<jar jarfile="${myApp.jar}/nancy2.0.0.jar" basedir="${myApp.classes}" includes="com/gd/**">
</jar>
</target>
<!--myApp目打成war文g-->
<target name="war" depends="jar">
<war destfile="${myApp.home}/myApp.war" webxml="${myApp.home}/WEB-INF/web.xml">
<!-- 包含该文件夹下所有内?-->
<fileset dir="${myApp.home}" casesensitive="yes">
<include name="WEB-INF/**" />
<exclude name="*.war" />
</fileset>
<!--所依赖的jar-->
<lib dir="${myApp.home}/WEB-INF/lib">
<include name="*.jar" />
</lib>
</war>
</target>
</project>

]]>
վ֩ģ壺
۶|
|
°|
|
|
Ӵ|
¡|
|
|
Դ|
|
|
|
|
Ͽ|
|
˫|
ֲ|
|
|
|
̽|
|
ƽ|
|
Ʊ|
|
|
|
|
|
ڽ|
г|
찲|
|
|
|
|
ͬ|
|
|