- 浏览: 247319 次
- 性别:
- 来自: Shanghai
文章分类
最新评论
-
a790851624:
本人刚到公司,接到一个任务:在java代码中集成kettle的 ...
java应用程序中集成Kettle -
obnijeh:
谢谢共享,正需要。
Kettle 简介及Kettle用户操作手册 -
zhaokui:
很好,很好
Java中SimpleDateFormat用法详解——获得常用时间表示法(二) -
zhaokui:
,不错,不错
Java中SimpleDateFormat用法详解(一) -
babaoqi:
学习下,O(∩_∩)O谢谢了
Kettle 简介及Kettle用户操作手册
一:Maven,ant 工具比较
Apache Maven一个潜在的基于java的apache ant的构建工具的替代者。两者之间的比较:
第一:ant脚本是可以直接运行在maven中的。maven和ant最大的差别就是在于maven的编译以及所有的脚本都有一个基础,就是
POM(project object
model)。这个模型定义了项目的方方面面,然后各式各样的脚本在这个模型上工作,而ant完全是自己定义,显然maven更胜一筹。
第二:Maven对所依赖的包有明确的定义,如使用那个包,版本是多少,一目了然。而ant则通常是简单的inclde
所有的jar。导致的最终结果就是,你根本无法确定JBoss中的lib下的common-logging 是哪个版本的,唯一的方法就是打开
META-INF 目录下MANIFEST.MF。估计JBoss迟早会转向Maven的。
第三:Maven是基于中央仓库的编译,即把编译所需要的资源放在一个中央仓库里,如jar,tld,pom,等。当编译的时候,maven会自动在仓库
中找到相应的包,如果本地仓库没有,则从设定好的远程仓库中下载到本地。这一切都是自动的,而ant需要自己定义了。这个好处导致的结果就是,用
maven编译的项目在发布的时候只需要发布源码,小得很,而反之,ant的发布则要把所有的包一起发布,显然maven又胜了一筹。
第四:maven有大量的重用脚本可以利用,如生成网站,生成javadoc,sourcecode reference,等。而ant都需要自己去写。试试 maven site 的效果。
第五:maven目前不足的地方就是没有象ant那样成熟的GUI界面,不过mavengui正在努力中。目前使用maven最好的方法还是命令行,又快又方便。
二:maven系列笔记(安装、下载jar、搭建私服)
1,首先到http://maven.apache.org/download.html 下载合适的Maven版本,我下载的是Maven 2.0.9 (zip)。
2,解压文件到你想安装的目录,我的是F:\apache-maven-2.0.9。
3,在环境变量的用户变量中增加名为M2_HOME,值为F:\apache-maven-2.0.9的变量,注意在目 录F:\apache-maven-2.0.9的最后不要加\,即不能为F:\apache-maven-2.0.9\。同时添加名为M2,值 为%M2_HOME%\bin的环境变量。在环境变量path的值中加入%M2%.
4,控制台运行mvn -version,显示如下信息,则maven基本安装完成
http://dl.javaeye.com/upload/attachment/224011/a5607138-6549-3603-80f1-3bf25ece0534.jpg
一篇菜鸟级入门文章
http://fluagen.blog.51cto.com
/146595/40086
资料参考:
http://maven.apache.org/guides/g
... n-five-minutes.html
http://maven.apache.org/guides/getting-started/index.html
maven配置参考
配置文件一般为settings.xml,在apache-maven-2.0.9中的路径为apache-maven-2.0.9\conf\settings.xml
下面是相关配置片段:
用于指定在本地仓储的路径(就是你打算存放jar包等资源的地方)
Xml代码
<localRepository>H:\nepo\apache-maven-2.0.9\m2_repo</localRepository>
用于配置代理,非必要情况下可以不设置
Xml代码
<proxies>
<proxy>
<active>true</active>
<protocol>http</protocol>
<host>proxy.somewhere.com</host>
<port>8080</port>
<username>proxyuser</username>
<password>somepassword</password>
<nonProxyHosts>www.google.com|*.somewhere.com</nonProxyHosts>
</proxy>
</proxies>
安全部署设置,对仓储中的资源的下载做出下载授权限制
Xml代码
<servers>
<server>
<id>repo1</id>
<username>repouser</username>
<!-- other optional elements:
<password>my_login_password</password>
<privateKey>/path/to/identity</privateKey> (default is ~/.ssh/id_dsa)
<passphrase>my_key_passphrase</passphrase>
-->
</server>
...
</servers>
用于自定义一个仓储,而不使用互联网上的(可以使用这个建立一个公司共用的jar仓储,方便管理)
Xml代码
<mirror>
<!--This sends everything else to /public -->
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://192.168.1.165:8081/nexus/content/groups/public</url>
</mirror>
备注:
1:这是一个互联网仓储的镜像,可以选择一个作为自己的仓储镜像http://docs.codehaus.org/display/MAVENUSER/Mirrors+Repositories
制作企业内部的maven私服
传奇私服大家应该都听过,一个网吧自己搞个私服,一伙人免费在上面砍杀。官方因此少赚了很多钱,因此总想打击。而 maven
官方却对自建私服很是支持,我们总算可以正正当当搞把私服了( Springside
的老大江南白衣就是创建私服的好手)。我们就来介绍下自建私服的最快方法。
首先需要一个 http server ,找台服务器装上 apache 就行。放一个空的 maven 目录到 htdocs 下,假设服务器 ip 为 192.168.0.1 ,确认能用 http://192.168.0.1/maven 访问到。然后在自己机器上装好 maven2 ,初始化好项目(架构者应该会自行创建,普通开发员一般从服务区check out得到),在 pom.xml 放入需要的 jar 定义,运行如 mvn eclipse:eclipse(必须在项目路径下执行此命令 ) 就自动从官方下载 jar 到本地,如果不做配置,默认本地 repository 为 ${user.home}/.m2/ 。对于 windows xp 来说一般在 C:\Documents and Settings\ % username%\.m2 下,其中% username %为操作系统登录用户名。这时你可以看到 ${user.home}/.m2/ 下多了个 repository 目录,里面有很多的项目相关 jar ,目录按 groupId/ artifactId/version 排好。把 repository 目录整个拷贝到 apache 服务器的 maven 目录下,如果需要官方缺少的 jar 或公司内部 jar ,仿照这个目录结构,做好 jar 放到 maven 目录下。自建私服成功!
要使用私服,只需修改 pom.xml ,在 repository 配置后加上:
Xml代码
<repository>
<id>companyName</id>
<url>http:// ${ip}/maven</url>
</repository>
这样需要下载 jar 时,会先到本地 repository 查看,没有下载过再到官方搜索,没有找到再到后面的 repository 查找。
做私服网上都推荐使用nexus,不过我没试过,大家有空可以试试
一些不错的中文参考文章:
http://www.wujianrong.com/archives/2006/12/maven_3.html
http://www.wujianrong.com/archives/2006/07/maven.html
http://www.wujianrong.com/archives/2006/12/maven20.html
http://www.wujianrong.com/archives/2006/12/_maven.html
如果仓储中不存在需要的包,可以自行下载并安装现在,如何处理那些麻烦的Sun的jar包和那些需要但却不能在远程存储 库中找到的jar包了?我们必须使用Maven来手动将这些jar包安装到本地的存储库中。不用担心,这没有听上去那么困难。为了做个示例,我们将安装 Java Activation框架的jar包。首先我们必须从Sun的站点上下载此jar包,接着我们使用Maven将它导入本地的存储库中。您自己也可以按照 Maven上传资源指南中的指导将缺少的jar包安装到Ibiblio中。
Cmd代码
mvn install:install-file -Dfile=activation.jar
-DgroupId=javax.activation -DartifactId=activation
-Dversion=1.0 -Dpackaging=jar
例如我在本机上下在一个ant-1.6.5.jar,然后运行如下命令
Cmd代码
h:\apache-maven-2.0.9\bin\mvn install:install-file -Dfile=ant-1.6.5.jar
-DgroupId=ant_project -DartifactId=ant -Dversion=1.6.5 -Dpackaging=jar
就会在本地仓储F:\Documents and
Settings\Administrator\.m2\repository中出现如下文件F:\Documents and
Settings\Administrator\.m2\repository\ant_project\ant\1.6.5\ant-1.6.5.jar
这样我们就可以在项目中使用仓储中的这个jar包了
maven命令补充说明4.maven命令
在命令行下输入mvn -h , 显示mvn帮助,其中usage: mvn [options] [<goal(s)>] [<phase(s)>]表明了mvn命令的构成。
Options:可选的参数。比如前面提到的-version , -h等。
Goal(s): 表示maven构建的“目标”。比如前面的
mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
其中archetype:create表示archetype插件下的create目标。这里,插件是为了某种目的构建的目标的集合,maven通过插件扩展其功能。
还可以为目标传递一些参数,比如上面的“-DgroupId=com.mycompany.app -DartifactId=my-app”。
Phase(s):阶段。表示maven构建生命周期 中的一个步骤。使用相位命令时,maven会执行生命周期中该阶段之前的所有命令,使项目处于指定的“状态”。
比如在刚才创建的项目路径下输入mvn compile,会创建target文件夹,并编译class,使项目处于“已编译”状态。
maven定义的生命周期中主要的相位如下:
validate: 验证项目是否正确以及相关信息是否可用。
compile: 编译。
test: 通过junit进行单元测试。
package: 根据事先指定的格式(比如jar),进行打包。
integration-test: 部署到运行环境中,准备进行集成测试。
verify: 对包进行有效性性和质量检查。
install: 安装到本地代码库。
deploy: 在集成或发布环境,将包发布到远程代码库。
在“默认”的生命周期之外,还有两个“阶段”:
clean: 清除以前的构建物。
site: 生成项目文档。
阶段实际上是通过目标的组合实现的。
5.组合命令
可以通过对目标及相位的组合使得一个命令完成多个功能,比如:
mvn clean dependency:copy-dependencies package
相当于按顺序执行
mvn clean
mvn dependency:copy-dependencies
mvn package
更多的内容可以查阅相关的文档。
三,ant 工具配置和下载
ANT 下载,ant的配法
下载http://www.apache.org/dist/ant/binaries下的apache-ant-1.7.1-bin.zip
接压安装。
ant的配法:
1。解压ant的包到本地目录。
2。在环境变量中设置ANT_HOME,值为你的安装目录。
3。在环境变量中设置JAVA_HOME,值为你的jdk安装目录。
4。把ANT_HOME/bin加到你系统的path目录中去。
SET ANT_HOME=D:\jakarta-ant-1.5.1 //注意是Ant的安装目录,不是bin子目录
SET PATH=%PATH%;%ANT_HOME%\bin;
在cmd模式下输入 ant -version回车,看到输出说明配置成功。
发表评论
-
Java虚拟机工作原理详解
2014-05-19 17:11 634一、类加载器 首先来看一下java程序的执行过程。 ... -
xml特殊字符转义技术
2013-12-05 15:14 1032在项目测试阶段,测试人员会输入一些特殊字符,比如:< ... -
junit4注解
2013-10-25 16:10 7581 @BeforeClass @AfterC ... -
java内部类的作用分析
2012-12-14 16:33 790提起Java内部类(Inner Class)可能很多人不 ... -
Weblogic远程调试
2012-10-15 15:04 711配置weblogic远程调试之前,需要做这几个工作: 1 ... -
log4j.properties配置详解
2012-06-08 11:18 752Log4J的配置文件(Configuration Fil ... -
Tomcat部署Web应用方法总结
2012-05-23 11:20 1242Tomcat部署Web应用方法 ... -
有享商城--有精彩,齐分享,享购物,享自游,享团购,享优惠
2012-03-29 12:35 0有享商城于2012-03-29上线运营 有 ... -
oracle恢复误删除数据,解除锁定的等sql语句
2011-11-24 10:51 1086注意:数据库版本是10g,不过大部分9i的也适用,闪回9i就没 ... -
log4j日志级别
2011-11-17 20:22 974日志记录器(Logger)是日 ... -
cookies原理
2011-11-04 11:14 939实际上,Cookie的作用就是与服务器互动。 用户登录:在很多 ... -
tomcat 的一些基本配置
2011-11-01 14:51 516管理员配置:打开tomcat安装目录里面的conf/tomca ... -
web.xml中<security-constraint>和四种认证类型
2011-11-01 10:04 1015<security-constraint> 的子元 ... -
Ubuntu通过apt-get命令安装java jdk6
2011-09-01 08:15 1694其实Ubu ... -
java将多个文件一起打成zip包后下载实例
2011-08-24 17:23 3539//文件打包下载 pu ... -
java将文件打成zip包
2011-08-23 13:47 1886大家可能对于Zip格式的 ... -
jsp动态上传多个文件---实用的例子
2011-08-17 17:26 1215现在还有一个错误就是文件名是中文的话,就乱码。还在改进. u ... -
利用JAVA API发送E-mail
2011-08-03 16:57 893JAVA API 文档见附件 / ... -
va自动创建多层文件目录
2011-07-28 17:50 725... -
JavaMail 发送邮件例子(包括附件,及信息,及html内容的图片处理)
2011-07-07 18:36 1392public void SendMessage(Str ...
相关推荐
在软件开发领域,Maven 和 Ant 是两种广泛使用的构建工具。Maven 以其强大的依赖管理和项目生命周期管理功能著称,而 Ant 则以其灵活性和可定制性受到开发者青睐。然而,在某些情况下,如国内网络环境下访问 Maven ...
标题 "maven ant thrift0.9.0" 涉及到的是三个关键的软件开发工具:Thrift 0.9.0、Apache Ant 和 Apache Maven。这些工具在Java和其他编程语言的开发环境中广泛使用,特别是在构建和部署分布式系统时。 Thrift ...
尽管Maven后来成为更流行的构建工具,但Ant在某些项目中仍然有其独特的优势,如高度自定义性和简单性。 **JDK** (Java Development Kit)是Java编程语言的软件开发工具包,是编写、调试和运行Java应用程序的基础。...
标题“Maven 与 Ant 之比较”表明了本文将探讨两种在Java开发中广泛使用的构建工具——Maven和Ant。它们的主要功能是管理和自动化项目的构建过程,包括编译源代码、运行测试、打包应用以及部署。通过对两者进行对比...
Maven 和 Ant 是两种常见的自动化构建工具,它们都有其独特的优点和缺点。在本文中,我们将探讨如何将 Maven 和 Ant 整合,以充分发挥两者的优势。 一、Maven 介绍 Maven 是一款基于项目对象模型(POM)的自动化...
《Maven2.Ant.Junit合集》是一个包含多种IT工具和框架的资源包,主要聚焦于Java开发中的构建管理和单元测试。这个合集提供了PDF和CHM两种格式的文档,便于不同用户根据个人喜好进行阅读。以下是这些工具及其重要知识...
8. **生命周期集成**:通过maven-ant-tasks,可以在Ant构建过程中调用Maven的整个生命周期或特定阶段,实现两个工具之间的无缝集成。 9. **插件执行**:虽然主要目标是调用Maven生命周期,但也可以直接执行特定的...
本指南将深入探讨Ant工具的使用,帮助开发者高效地管理项目构建。 一、Ant概述 Ant是一个开源的Java构建工具,其设计灵感来源于Unix的Make工具。它通过XML配置文件(通常名为build.xml)来定义任务和目标,使得构建...
Ant工具是一种基于Java的构建工具,它主要用于自动化Java项目的构建、编译、打包和测试等流程。Ant的设计理念是提供一种跨平台的解决方案,避免传统Unix Makefile或类似工具的局限性,比如对特定操作系统或shell命令...
Ant是Apache软件基金会下的一个Java项目,它是一个构建工具,主要用于管理Java项目的构建过程。Ant以其XML为基础的构建文件(build.xml)而著名,这些文件详细描述了如何编译、打包和测试Java应用程序。Ant的核心...
make→Ant→maven→Gradle ②构建 【1】概念:以“java源文件”、“框架配置文件”、‘JSP’、“HTMl”、“图片”等资源为“原材料”,去生产一个可以运行的项目的过程 编译 部署 搭建 【2】编译:java源文件...
### Maven与Ant对比:构建与编译工具的深入解析 #### 概述 在软件开发过程中,构建工具扮演着至关重要的角色。它们不仅能够帮助开发者自动化执行常见的构建任务(如编译、测试、打包等),还能提高开发效率,确保...
**Ant工具使用详解** Ant是Java开发中的一个构建工具,由Apache软件基金会开发并维护,是Java项目自动化构建过程中的重要一环。本电子书PDF详细介绍了Ant的使用方法,帮助开发者更好地理解和应用这一工具。 **一、...
这个“ant工具ant资源包”很可能是Apache Ant的一个版本,具体为1.8.3。Ant以XML为基础来描述项目构建的规则和依赖关系,这使得构建过程在不同的环境中具有可移植性。 在Ant中,主要的概念有以下几点: 1. **构建...
Ant可以与许多其他工具无缝集成,例如Maven、Eclipse、IntelliJ IDEA等。 - **Eclipse**:通过Eclipse的Ant插件,可以在IDE内直接运行Ant脚本,进行项目构建。 - **IntelliJ IDEA**:同样支持Ant集成,用户可以直接...
Apache Tomcat、Maven 和 Ant 是Java开发和部署中不可或缺的工具。让我们分别详细了解一下这三个重要组件及其在Java生态系统中的作用。 Apache Tomcat是一个开源的Servlet容器,它实现了Java Servlet和JavaServer ...
Apache Ant 是一个由Java语言编写的构建工具,它在软件开发过程中主要负责自动化构建任务,如编译、打包、测试和部署。Ant以其XML为基础的构建...理解并熟练使用Ant工具对于任何Java开发者来说都是非常有价值的技能。
介绍该插件以受启发的本身的方式在Maven中提供了高级Ant集成。 AntBuildMojo提供了用于处理Maven工件图的高级Ant任务。 它带有用于构建“分发”的各种Ant任务:过滤库,解析工件,将结果附加到MavenReact器以用于...
Apache Ant 是一个Java库和命令行工具,其任务是驱动构建过程。它的设计目标是推动软件项目的构建工作,类似于Make工具在Unix环境中的作用。Ant使用XML来描述构建过程和依赖关系,使得构建过程可跨平台执行。"ant-...
这个主题主要围绕 Maven 插件的使用、其与 SCM(版本控制系统)的集成以及如何利用 Maven 插件与 Ant 集成来进行项目管理与构建。 首先,让我们深入了解一下 Maven 插件。Maven 插件是 Maven 构建生命周期的一部分...