ant构建spring工程

分类:  Spring2013-08-24 00:17  889人阅读  评论(3) 收藏  举报

spring3.1.x源码编译并导入eclipse

最近在学习spring的时候想将源码编译下,然后呢就去网上找找方法。参考了以下内容:

http://blog.springsource.com/2009/03/03/building-spring-3/

http://zachary-guo.iteye.com/blog/661839

http://blog.sina.com.cn/s/blog_49fd52cf0100r2rn.html

知道spring编译方法从原来的ant变成了Gradle。但是我下载的版本是3.1.4,所以以下的是spring3.1.4源码编译,虽然很多都和参考资料中相同,但确实是自己验证过的。

1、  通过SVN从spring服务器上下载源码

spring的源码从SVN搬到github上。

地址:https://github.com/SpringSource/spring-framework

2、  通过ant编译源码

1)对于JDK的要求

spring的编译要求是至少java 6。我机子上安装的是jdk1.6.0_13。

设置jdk环境变量:

[plain]  view plain copy
  1. JAVA_HOME = C:\ProgramFiles (x86)\Java\jdk1.6.0_13  
  2. JAVA_OPTS = -Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=1024m  
2)对于ANT的要求

ant版本要求至少要1.7。这里用的是1.8.4

设置ant的环境变量:

[plain]  view plain copy
  1. ANT_HOME = C:\MyApplication\apache-ant-1.8.4  
  2. ANT_OPTS = -Xms256m -Xmx768m -XX:MaxNewSize=256m-XX:MaxPermSize=512m  
3)build源码

通过ant来build源码,通过ivy下载spring所需的第3方jar包。

用命令提示符方式进入到源码的build-spring-framework目录下,然后ant。如下

[plain]  view plain copy
  1. -->cd {SRC_HOME}/build-spring-framework  
  2. -->ant  
  3. ….  
在这边我无力吐槽网速什么的,反正build的时间非常长。而且中间还断断续续的出现连接超时情况。终于,到了test的时候,挂了…..

找了些资料,都说test可以不需要。好吧,为了能build success,咱也就去掉test吧!

方法:在{SRC_HOME}\build-spring-framework\build.xml 中找到

[html]  view plain copy
  1. <targetnametargetname="precommit" depends="clean, clean-integration,test"/>  
 然后去掉test后改成了
[html]  view plain copy
  1. <target name="precommit" depends="clean,clean-integration"/>   
 继续ant,没过多久出现了盼望已久的BUILD SUCCESS。

3、  把编译好的源码导入eclipse

1) 在eclipse中新建一个workspace

参考Spring Team Blog 上的这篇文章,我发现新建一个workspace还是很有必要的。因为spring源码的工程比较多,个人不习惯所有项目混合在一起,既然要看源码,那就干干净净地看呗。

2) 设置IVY_CACHE环境变量

因为spring整个工程都依赖与IVY_CACHE。所以必须设置该环境变量。其实呢,它就是ant在build时创建的ivy-cache,里面是spring工程依赖的jar包。

设置方法如下:

Window -> Preferences -> Java -> Build Path ->Classpath Variables -> New

然后填写:

            NAME:IVY_CACHE

            PATH: ${SRC_HOME}/ivy-cache/repository

3) 设置workspace的jre

这里至少需要jre 6以上。

设置方法如下:

Window -> Preferences -> Java -> Installed JREs 添加相关6以上版本的JDK。

在Window -> Preferences -> Java -> Complier的Compilercompliance level选择相关选择。

4) 将源码导入到eclipse

File -> Import -> Existing Projects into workspace,rootdirectory 选择 ${SRC_HOME}。

5) 补充jar包

在eclipse中导入源码后,你会发现项目上还有红叉叉或红色感叹号。通过查看eclipse的Makers,我们知道了缺少了相关的Jar包。为了消除这些错误,我根据Makers中的提示,到http://ebr.springsource.com/repository/app/bundle中下载缺失的Jar包,并将它们放到对应的位置。

6) 继续消除错误

按理说,在引入jar包后工程应该不会报错了吧,可是呢,我发现几乎所有的项目都是好的,除了org.springframework.oxm项目。查看了下,原来是test的目录中少了Flight等类。想想,还是上网找吧,可是我却没有找到相关的类,真的不知道是spring的疏忽呢还是我的原因。后来,干脆在.classpath中屏蔽了对test目录的引入,一切OK。

4、  总结

虽然编译成功了,但还是发现了很多奇怪的问题。比如,在引入缺失的jar时发现有一些没有被下载到,还有一些版本号不对。没有被下载到,可以被理解,毕竟被限制的网络什么都有可能发生;但是,第三方jar包版本号不对让我很奇怪呀!不知道是不是因为我checkout的版本问题呢?我下载的是branches 中的3.1.x版本,会不会在下载Relsease会好些呢?等下次有时间再试下。

还有,过段时间去学习编译下3.2.x版本的源码,那又是一种新的方式啊!

IntelliJ IDEA 2024.3 编译器配置优化:5项关键设置提升Java项目构建速度30% 本文详细介绍了IntelliJ IDEA 2024.3版本中编译器配置的5项关键优化设置,帮助开发者显著提升Java项目构建速度30%。通过调整编译进程堆内存、优化注解处理器、排除非必要路径、启用增量编译与构建缓存以及编译器后端调优,大幅减少大型项目的构建时间,提升开发效率。 阅读详情

相关推荐

基于spring.handlers和spring.schemas实现Spring的Schema自定义扩展

概要 本文将以nacos-spring-project的扩展案例的经典使用方法来讲解对Schema支持,其中会结合部分讲解进行。通过本文可以掌握Spring扩展Schema的支持,该方法也是将一些中间件包装到Spring框架中的常用方法。 需要扩展Schema的场景分析 通常对系统提供可配置化支持,简单的可以直接基于Spring的标准Bean来配置。 但当需要配置较为复杂或者需要更多丰富控制的时候,就会比较困难,此时可以用自定义的方式去解析自主定义的xml文件,然后转化为配置对象,这种方式可以解决所

FeelTouch Labs 1011

Spring中的Ant路径匹配工具组件AntPathMatcher

Spring中的绝大多数的路径匹配规则是依照Ant的标准来的 实际上不只是SpringMVC,整个Spring框架的路径解析都是按照Ant的风格来的,在Spring中的具体实现,详情参见 org.springframework.util.AntPathMatcher,具体规则如下 /** * {@link PathMatcher} implementation for Ant-style path patterns. * * <p>Part of this mapping code

q1472750149的博客 2250

XWork 2.1.1源码工程包:含完整依赖、Ant/Maven构建支持与测试用例

XWork 2.1.1是Struts2框架的核心基础组件,这个资源包提供其全部Java源代码,结构清晰:src目录下为标准Java包组织的主逻辑,test目录包含JUnit 3.8.2和TestNG 5.1编写的单元测试,etc提供典型配置示例,java目录遵循规范分层。配套build.xml支持Ant一键编译与打包,pom.xml兼容Maven导入,开箱即用。依赖库已全部内置,包括Spring 2.0.7全系模块(core、beans、context、aop、web)、OGNL 2.6.11表达式引擎、A

pp12345的博客 243

spring3.1.x源码编译并导入eclipse

spring3.1.x源码编译并导入eclipse 最近在学习spring的时候想将源码编译下,然后呢就去网上找找方法。参考了以下内容: http://blog.springsource.com/2009/03/03/building-spring-3/ http://zachary-guo.iteye.com/blog/661839 http://blog.sina.com.cn/s/b

Hing Kwan 4092

spring-3.1.1源码和架包

spring-framework-3.1.1.RELEASE.zip spring-framework-3.1.1.RELEASE-with-docs.zip

spring3.2.x源码(已编译)

spring最经典版本3.2.x,已编译好,可直接导入idea学习。由于众所周知的原因,github下载源码特别慢,我是下载了好几个小时。

Ant安装执行build.xml下载spring3所需依赖包

在学习spring3搭建环境过程中,需要获取spring所依赖的包,说在连网的情况下,通过ant运行\projects\build-spring-framework\build.xml,会自动下载所需要的jar包,下载后的包位于\projects\ivy-cache\repository下面。         百度搜索ant,找到官网http://ant.apache.org/,下载了最新版本的

北风 1835

spring3.2 编译后源码

spring3.2 编译后源码, spring3.2 编译后源码, spring3.2 编译后源码,

基于SVN库持续构建Spring源码

目前,SpringSource官方主要采用 SVN存储 Spring项目的源码及文档。如果需要或者感兴趣,开发者可以持续从 SVN 库(https://src.springsource.org/svn/spring-framework/trunk/)获得最新的 Spring     项目快照,并构建出最新版本的 Spring。为达到这一目的,开发者可依据如下给出的操作步骤进行。其一,借助svn 命

萌萌的It人 www.itmmd.com 2496

spring3.1.3源码

spring 3.1.3 源码 找个源码费了九牛二虎力~在这里分享给大家

图的一些基本知识:图,邻居,度矩阵,邻接矩阵

目录前言图(graph)邻居(neighborhood)度矩阵(degree)邻接矩阵(adjacency)参考文献 前言       本文介绍了一些图论的基础知识,包括图的表示、邻接矩阵、度矩阵等(边不带权值的情况),本文中某些图片或者知识的参考/来源已列于本文最后。 图(graph)       图用G=(V, E)表示,V中元素为...

luzaijiaoxia0618的博客 6万+

Spring3.0 build过程

由于网上的教程都有些问题,导致导入失败,所以写了这篇博客给需要的朋友 1.确认以下两个已经安装 1.JDK 1.6+ 2.ANT:一款构建工具 2.获取SPRING源代码 目前版本是3.1.1 下载地址:download 也可以从github上获取:download 3.下载完成...

dihan1784的博客 282

AI算力瓶颈与系统优化实战指南

AI算力瓶颈已成为制约人工智能发展的关键因素,特别是在处理transformer类模型时,传统的冯·诺依曼架构面临严重的'内存墙'问题。通过硬件加速、系统优化和算法改进的三级策略,可以有效提升资源利用率。在嵌入式AI领域,结合量化、剪枝和专用指令集扩展等技术,能在资源受限设备上实现高效推理。这些优化方法在自动驾驶、工业视觉等场景中已展现出显著价值,推动AI应用从云端向边缘迁移。随着AI算力需求的持续增长,掌握系统优化技能将成为开发者的核心竞争力。

weixin_32597009的博客 342

spring源码搭建记录

Gradle是一款Google推出的 基于JVM、 通用灵活的 项目构建工具, 支持Maven,JCenter多种第三方仓库;支持传递性依赖管理、废弃了繁杂的xml文件,转而使用 简洁的 、 支持多种语言 (例如:java、groovy等)的 build脚本文件。

xx244的博客 720

ANSYS APDL 后处理:用*GET和ETABLE命令把节点/单元应力结果导出到TXT文件(附完整命令流)

本文详细介绍了在ANSYS APDL中使用*GET和ETABLE命令导出节点和单元应力数据到TXT文件的完整方案。通过节点解和单元解的核心逻辑分析,提供了从基础到进阶的数据导出方法,包括节点应力、单元应力数据的提取与格式化输出,以及高级技巧如选择性导出与数据过滤。帮助工程师高效完成有限元分析后处理工作。

weixin_26805597的博客 634

QML 地图修改插件源码(三),Map在Plugin中设置加载地图类型

常用的地图种类分为交通图,地形图,卫星图等等,在QML的Map(以OSM地图为例)中提供activeMapType属性用于读取当前显示的地图类型(注意:该属性为只读属性,不能用于赋值),QML中地图的加载寻找根据瓦片的文件名进行查找,例如名为"osm_100-l-5-2-2-3.png"的瓦片,其中5代表了该地图的类型

zjgo007的专栏 3165

安装Spring源码工程(转)

如何安装构建Spring的工程文件 1. 安装 1.1. 环境准备: 1. Java6或者以上 2. Ant1.7或者以上 3. Eclipse或者IDEA 1.2. 第一步:获取Spring源码 有两种方式获取Spring源代码: 1. 直接从官网的Download目录下下载压缩包,会得到类似的zip包:spring-framework-3.1.0.RC1-with-docs ...

keke_Xin的专栏 196

Transformer模型在语义通信中的实战应用:从信源编码到端到端优化

本文深入探讨了Transformer模型在语义通信中的实战应用,从信源编码到端到端优化。文章分析了Transformer凭借其强大的全局依赖建模能力,如何成为实现高效语义提取与传输的理想架构,并提供了构建可端到端训练系统的具体实现思路与评估方法,旨在为下一代智能通信系统提供技术参考。

o9p0q1的博客 692

安装Spring源码工程

如何安装构建Spring的工程文件 1. 安装 1.1. 环境准备: 1. Java6或者以上 2. Ant1.7或者以上 3. Eclipse或者IDEA 1.2. 第一步:获取Spring源码 有两种方式获取Spring源代码: 1. 直接从官网的Download目录下下载压缩包,会得到类似的zip包:spring-framework-3.1.0.RC1-with-docs ...

weixin_30838921的博客 146

2025年软件测试职业院校技能大赛—ERP管理平台-基础信息管理商品管理测试用例

竞赛对接软件测试相关标准,以“ERP管理平台” 为被测系统,围绕软件测试领域的主流技术及工具,考查选手面 对实际问题的综合分析能力,对测试文档、测试用例的设计能力, 对单元测试、自动化测试、性能测试、接口测试等测试工具及方 法的掌握程度,检验选手团队协作能力、组织规划能力、方法运用能力等。

我是网络安全兼技能大赛工程师,专注网络安全技术学习与技能大赛实战!持续分享最新的技术文章,帮你少走弯路,一起在技术赛道上进步~ 326

STM32实现简单的智能电子相框

具体的代码案例和详细的代码实现超过5000字,无法在此篇文章中提供。但是,你可以参考STM32的官方文档和相应的图形库和多媒体库的文档,以获得更详细的实现细节和代码示例。对于硬件,我们可以选择使用STM32开发板,如STM32F4 Discovery。对于软件开发环境,我们将使用Keil MDK-ARM作为开发工具,并使用STM32CubeMX进行代码配置。在本文中,我们将使用STM32单片机实现一个简单的智能电子相框,包括显示照片、播放视频和音乐功能。接下来,我们将详细描述实现智能电子相框的步骤。

2401_85625565的博客 1006

java初级工程师需要学多久_Java初级工程师需要掌握什么样的技术?

1、语法:必须比较熟悉,在写代码的时候,IDE(Integrated Development Environment,集成开发环境)的编辑器对某一行报错应该能够根据报错信息知道是什么样的语法错误,并且知道任何修正。2、命令:必须熟悉JDK(Java Development Kit,Java开发工具箱——JDK 是整个Java的核心,包括了Java运行环境,Java工具和Java基础的类库。JDK是...

weixin_29056145的博客 1627

实现端到端加密的WebRTC视频会议终端

需要注意的是,上述示例代码中没有涉及到具体的加密算法和密钥交换过程,而是通过WebRTC API自动处理了加密和密钥交换的细节。然后,我们通过信令服务器将本地SDP发送给对方,并接收对方的SDP。最后,我们将对方的SDP设置为远程描述,并将最终的连接建立起来。最后,我们将对方的SDP设置为远程描述,并建立最终的连接。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。

WaJulia的博客 434

从Vue到Spring Boot:一个Java全栈工程师的实战面试实录

王哥:我们会尽快通知你结果,祝你一切顺利!Java类加载机制:理解Java的类加载过程,包括加载、连接、初始化三阶段。JVM内存模型:熟悉堆、方法区、栈、程序计数器、本地方法栈的作用。垃圾回收机制:掌握不同的GC算法,如标记-清除、标记-整理、复制算法。Vue3组件库:熟悉Element Plus、Ant Design Vue等组件库的使用。构建工具:掌握Vite和Webpack的使用,了解其优缺点。

CatchLight的博客 640

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Spring 2.0核心技术与最佳实践

《Spring 2.0核心技术与最佳实践》一书由浅入深,详细介绍了Spring 2.0框架的几乎全部内容,并重点突出2.0版本的新特性,是一本注重实践而又深入理论的书,力图为读者展示如何应用Spring 2.0框架创建灵活高效的J2EE应用程序,并提供了一个真正可直接部署的完整的Web应用——Live在线书店http://www.livebookstore.net,读者可以从中学习设计并实现一个基

554

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Gradle构建工具

简介 Gradle,这是一个基于 JVM 的富有突破性构建工具。Gradle 正迅速成为许多开源项目和前沿企业构建系统的选择,同时也在挑战遗留的自动化构建项目。

豪华的博客 649

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

上一篇: Maven使用说明
下一篇: Spring之事件监听
helloman0908
博客等级 码龄16年 1粉丝 22原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值