03 2014 档案
摘要:大多数java应用源码构建和依赖管理是使用maven来实现的,maven也是java构建和依赖管理的事实上的标准。我们的应用系统也都是基于maven构建的,maven虽然在依赖管理方面确实很牛叉,但是并不能很优雅地解决所有依赖的问题,比如此次谈及的“全局排除”功能。 之前包括现在都在经历这样的事情,想禁止一个依赖被依赖进来,如果这个依赖属于冷门的依赖,很少类库会间接依赖它,那么进行一次排除完全OK,但是如果一个依赖是热门依赖,比如常用的apache的commons系列工具库,单独排除也可以实现,只是比较啰嗦,而且以后引入新的依赖就要时刻关心是否会带来不被允许的依赖,对维护人员来说简直是灾难..
阅读全文
摘要:自动装配,官方给出的定义是这样:Spring IoC容器可以自动装配(autowire)相互协作bean之间的关联关系。因此,如果可能的话,可以自动让Spring通过检查BeanFactory中的内容,来替我们指定bean的协作者(其他被依赖的bean)。由于autowire可以针对单个bean进行...
阅读全文
摘要:以前一直没有在意,今天建立maven工程的时候在节点下加入了junit依赖,结果在dependency Graph中没有发现junit的依赖关系,怎么回事?没有加入项目依赖?遂google之得解释:1.使用项目继承利用项目继承可以将结构信息,部署信息,共同的依赖信息放置在单一的位置。在每个工程的pom中:[...]org.apache.maven.proficioproficio1.0-SNAPSHOT[...]这使得项目的pom可以继承顶层pom中的定义,检查顶层pom的dependencies部分:[...]junitjunit3.8.1test[...]在各个子模块的pom中没有对Jun
阅读全文
摘要:Maven库:http://repo2.maven.org/maven2/Maven依赖查询:http://mvnrepository.com/Maven常用命令:1. 创建Maven的普通java项目: mvn archetype:create -DgroupId=packageName -DartifactId=projectName2. 创建Maven的Web项目: mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp3
阅读全文