使用 Maven 管理项目

最近的练手项目使用的是 Maven 在管理项目,在使用 Maven 管理项目时,三层的开发时分模块开发的,parent-dao-service-web,所有的spring+struts + Hibernate的依赖都是加在 parent 上,dao-service-web都是作为子模块,在模块之间的关系处理的时候出现了几个问题:

  1. junit测试包的传递依赖失效了
  2. 多个配置文件的读取问题

我在 parent 工程没有添加 Junit 的依赖,在编写 dao 模块是添加了 Junit 的 jar 包,理所当然的在 scope 中写了 test 范围,但是在 service 模块中进行  Junit 测试时,显示没有依赖上 Junit 包,那是为什么呢?百度了才想通,原来是 service 依赖的 dao 模块的 install 之后的 jar 包,当 dao 模块 install 时,scope 为 test 的 Junit包当然没有被发布出来,service中也就不能传递依赖到 Junit了,这样的解决办法只能在 service 中添加 Junit 包的依赖。

因为采取的是模块式的开发,spring的配置文件就被分布在各个模块中了,在测试项目时需要读取多个模块中的 spring 配置文件时,使用到了之前没有使用到的一个注解:

@ContextConfiguration(locations={"classpath*:applicationContext-*.xml"}) 这个注解中的*号通配符表示会加载本模块和依赖的jar包中的类路径下的applicationContext-开头的配置文件(只有spring配置文件才会这样命名)

//@ContextConfiguration(locations={"classpath*:applicationContext-*.xml"})
@ContextConfiguration(locations={"classpath:applicationContext-dao.xml","classpath:applicationContext-service.xml"})
@RunWith(SpringJUnit4ClassRunner.class)
public class CustomerServiceImplTest {

    @Autowired
    private CustomerService customerService;

    @Test
    public void test() {
        Customer customer = customerService.findById(1L);
        System.out.println("********************"+customer.getCustName());
    }

}
时间: 2024-10-16 21:47:48

使用 Maven 管理项目的相关文章

Maven管理项目架包

最近一直在用Maven管理项目的架包,从而发现了几个不错的官方或者非官方的网站. http://mvnrepository.com/artifact/com.ning  这个是我刚刚用来找HTTP开发架包时候发现的,ning的官网好像对架包收费了,这个网站是提供免费的 http://netty.io/downloads.html  下载netty,关于I/O流的架包 http://www.apache.org/  apache的官网,底部的 APACHE PROJECT LIST 包括了所有Ap

【Java Web】Myeclipse下运用maven管理项目jar包

Java Web开发的人都知道经常会为缺少各种jar包而烦恼,经常要去各种地方下载.用maven来管理项目的jar包,就非常方便了,maven会自动帮你下载所需要的各种jar包. 下面就来介绍一下在Myeclipse下运用maven: 1.maven的环境变量配置 maven在官网下载后,百度一下环境变量的配置,然后在命令行检测一下配置是否正确.可以参考jdk的配置与检测. 2.Myeclipse中配置maven环境 2.1在Myeclipse中点击:Window-->Preferences,出

利用maven管理项目之POM文件配置

1. 将本地的jar包加入maven dependency <dependency> <groupId>com.ebay.app.raptor.cs.qa</groupId> <artifactId>ecaf</artifactId> <version>0.0.1-SNAPSHOT</version> <systemPath>${project.basedir}/lib/ecaf.jar</systemP

maven管理项目,部署项目时,如何统一导出jar包

使用maven-assembly-plugin,配合assembly.xml,会将所有的依赖jar包copy到lib目录下面. 1.在pom.xml文件中添加如下代码: <build>         <plugins>             <plugin>                 <artifactId>maven-assembly-plugin</artifactId>                 <configurat

maven管理项目,引入本地jar包的方法

例: <dependency>     <groupId>javapns</groupId>     <artifactId>javapns</artifactId>     <version>1.0</version>     <scope>system</scope>     <systemPath>/Users/xxx/Dev/lib/javapns-jdk16-163.jar&l

使用 Maven 来管理项目 &amp; 从 0 开始搭建 Maven 项目

maven 是 apache 的一个开源软件,纯 Java 编写的,专门用于管理 Java 项目的一个工具. maven 就是一个工具而已,用不用都不耽误你刷刷的敲代码,那为什么我们还要学习它呢? 那肯定是有很多的好处啊,不知道大家有没有注意过,一个普通的 SSM 项目一般都会几十兆或上百兆,不要想太多,你写代码没多少,jar 包就占用了 90% 以上. maven 管理项目的第一个好处就是节约内存,统一管理依赖,因为你每个项目都要引入这么多的 jar 包,而使用 maven 之后,一份 jar

Spring入门(四):使用Maven管理Spring项目

让我们先回顾下本系列的前3篇博客: Spring入门(一):创建Spring项目 Spring入门(二):自动化装配bean Spring入门(三):通过JavaConfig装配bean 1.为什么要使用Maven? 之前我们新建的项目,项目所要依赖的第三方jar包都在项目的类路径下(通常为lib目录),如下所示: 使用这种方式,我们无法知道第三方类库的依赖关系,比如导入一个特定的jar包时,可能此jar包还依赖于其他的jar包,其他的jar包又依赖于更多的jar包,这也是我们平常遇到的Clas

myeclipse maven web项目配置

启用maven:window-->preference-->MyEclipse-->Maven4MyEclipse, 勾选复选框(Enable Mave4MyEclipse features 一个简单的maven项目结构: mywebapp +---pom.xml +---src +---main +---resources +---webapp +---index.jsp +---WEB-INF +---web.xml 安装maven的配置 apache maven项目官网: http

使用Maven管理软件项目

什么是Maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑.当你使用Maven的时候,你用一个明确定义的项目对象模型来描述你的项目,然后Maven可以应用横切的逻辑,这些逻辑来自一组共享的(或者自定义的)