完善Library的管理方式
来源:http://www.javaeye.com/wiki/struts2/1321-struts2-development-environment-to-build
在上面搭建环境的过程中,我们发现,Library的管理存在着一定问题。这个问题主要表现为:
1. 不容易做Library的版本管理。如果Library的版本需要升级,那么我们不得不重新copy一份新的jar包,并且借助IDE重新指定项目的classpath。这种劳动,对于一个项目还可以接受,如果你有10多个项目,那么jar包的复制工作会让你很头疼。
2. 每个项目都会有Library的副本。这一点让人非常恼火。实际上,对于一个公司或者一个项目组而言,使用的技术体系基本不变。然而,每个项目的Library却是分开的。不仅如此,每个项目都要从svn中下载大量的相同的Library文件,给我们的硬盘造成极大的空间浪费。对于那些频繁使用Branch的项目来说,这些Library的下载简直就是噩梦。
所以,我们需要一个集中式的Library管理方式。而这一点曾经在Javaeye的海阔天空版激烈得讨论过使用maven来进行管理还是自行管理。
共享类库可以用IDE reference project解决,公司内部项目给常用的lib建立一个project,从CVS上check out,其他工程项目都依赖这个project就可以了,ant build也直接引用这个项目的jar就可以,项目体积照样只有几百K。
——一个讨厌ant,更加讨厌maven的人
我比较赞同Readonly老大的说法而倾向于自行管理。maven这样的高级货,偶实在是用不来啊。那么我们就来看看如何使用共享类库来进行Library管理。
1. 首先建立一个共享类库
建立一个共享类库,将项目中需要共享的Library进行恰当的分类。同时,为每个加入到Library中的jar包进行统一的格式化的命名方式。例如:spring/spring-2.5.5.jar等等。这样的好处在于,一旦jar包的版本有更新,可以加入新的jar包而保留原来的。在项目中,就可以通过引用不同版本的jar包来对Library进行版本管理。
以下就是我个人建立的一个共享类库,大家可以参考:
svn://www.demo2do.com/library
2. checkout共享类库,并将其导入到IDE中作为一个Library工程
3. 为你的项目指定classpath,引用的jar包存在于Library工程中
在这里,我们可以看到,原来项目中的lib目录被删除,jar包也被删除。在项目中所引用的jar包是Library项目中的jar包。
完善Library的管理方式相关推荐
- 塑造公司管理方式(三)- 沟通、创新、未来
沟通:路由器 管理中的上层收集信息,并审慎的决定该讲哪些信息分发给在他们底下辛苦工作的人,这就是绝大多数公司信息流动的传统模式,信息作为权利和控制的手段被人们囤积.因此,许多商业人士之所以能升至管理者 ...
- 软件开发公司的管理方式(上)
总结一些管理心得.经验与想法,写出来,便于解决问题或日常检视公司运行状况的时候看看. 一.动态平衡与发展 公司创办的热情.首轮机会过去后,面对经营中不断出现的诸多问题,经营者的想法会发生很多变化,会发 ...
- 项目管理之从战略层出发完善组织架构管理
理解战略目标才能更好的组织架构: 貌似很多互联网企业公司都有着一个共同点存在,就是所谓的"扁平化管理"著称,但随着行业发展,公司架构的调整,很多管理方式都随着实际情况发生这改变,一 ...
- bom树形结构 表设计_K/3管理视角:树形结构下的BOM管理方式!
原标题:K/3管理视角:树形结构下的BOM管理方式! BOM(物料清单),也就是以数据格式来描述产品结构的文件,是ERP使用过程中的重要组成部分.通过BOM我们能够清晰的了解产品的结构以及所需要的物料 ...
- Kubernetes集群部署方式以及pod的管理方式
文章目录 一.Kubernetes部署方式 1.基础环境配置 2.操作步骤 二.集群的创建以及对于node和pod的基础管理方式 1.node的加入方式 2.Kubernetes结合HarBor仓库进 ...
- linux 下的 service 和systemctl 服务管理方式
linux 下的 service 和systemctl 服务管理方式 man service 得到:执行一个system V 风格的启动脚本 service - run a System V ini ...
- 操作系统--内存管理方式
"碎片的内存"描述一个系统中所有不可用的空闲内存.这些资源之所以仍然未被使用,是因为负责分配内存的分配器使这些内存无法使用.这一问题通常都会发生,原因在于空闲内存以小而不连续方式出 ...
- linux发行版 以及 包管理方式
linux发行版 以及 包管理方式 2010-07-26 14:24:41 分类: linux 发行版 Debian --- Debian Project诞生于1993年8月13日,它的目标是提供一 ...
- 二十七、连续分配管理方式
一.知识总览 注意:连续分配是指为用户进程分配的必须是一个连续的内存空间,而非连续分配管理方式可以是离散的内存空间. 二.单一连续分配 二.固定分区分配 **分区大小相等:**缺乏灵活性,但是很适用于 ...
最新文章
- 【HM】第3课:JavaScript高级
- Linux 安装composer
- leetcode 236. 二叉树的最近公共祖先 递归解法 c语言
- onclick 传参,用转义符进行转义。
- java 示例_功能Java示例 第4部分–首选不变性
- java什么变量用作英文_Java基础之变量-什么是变量
- 添加常见 URL Scheme 列表,方便快速查询⓶QA:URL Scheme适配好为何仍然报错
- autoreconf:未找到命令
- 无刷直流电机构成及工作原理详解
- Windows下GetLastError()返回值介绍
- flutter快速入门,一周搞定前后端,上线完毕
- JSP文件的打开方式
- 应用开发不可不知的五大BaaS后端云服务
- 用python实现相声、评书自动下载(一)
- stm32 智能避障小车(二)之sg90
- Deepin v20安装过程详细步骤
- 营在微博:企业微博营销实战宝典
- 磁盘格式之exFat和NTFS怎么选?
- Kotlin基础学习 --- 内置函数apply、let
- 【MQ】 解决MQ 2035-MQRC_NOT_AUTHORIZED
热门文章
- BW之数据源 增量管理DELTA
- 一个关于winform多线程的教程(pdf)
- Winform中FormClosing与FormClosed区别与使用
- Android—OkHttp同步异步请求过程源码分析与拦截器
- java冒泡排序算法代码降序_冒泡排序(起泡排序)算法及其C语言实现
- pcie和usb哪个带宽高_了解数字示波器采样率和模拟带宽的规格
- python 摄像头标定_python 3利用Dlib 19.7实现摄像头人脸检测特征点标定
- QFontDatabase: Cannot find font directory
- Android开发之ApiCloud模块开发步骤
- 使用ab进行压力测试详解