分模块开发创建dao子模块&子工程打包&打包参数解释——(七)

1.选中父工程右键新建maven module

 

2.添加模块名称

 

3.选择jar模式

4.添加dao模块的代码与配置文件(具体的配置文件在四整合里面有源码)

 

 

 

5.junit测试(导入junit依赖)

 

测试代码:

 1 package cn.qlq.mapper;
 2 
 3 import javax.annotation.Resource;
 4 
 5 import org.junit.Test;
 6 import org.junit.runner.RunWith;
 7 import org.springframework.test.context.ContextConfiguration;
 8 import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;
 9 
10 @RunWith(SpringJUnit4ClassRunner.class)
11 @ContextConfiguration("classpath:applicationContext-dao.xml")
12 public class UserMapperTest {
13     @Resource(name = "userMapper")
14     private UserMapper userMapper;
15 
16     @Test
17     public void fun1() {
18         System.out.println(userMapper.findUserById(1));
19     }
20 }

结果:

6.发布到本地仓库(一般不发布测试,将junit测试注释掉)

7.查看本地仓库结构:

 

关于父子工程打包

有的时候希望打包子工程的时候,将依赖的兄弟工程也同步打包。

mvn clean package -T 1C -Dmaven.test.skip=true -Dmaven.compile.fork=true -pl module/service -am

查看日志: 会将当前子工程依赖的兄弟工程也进行打包

// 参数解释
mvn clean: 清理目标目录(target),删除上次构建生成的文件,包括编译后的类文件、测试结果和打包文件。
package: Maven生命周期中的一个阶段,用于编译源代码、运行测试(如果未跳过测试)、处理资源文件并打包项目(例如生成JAR或WAR文件)。
-T 1C: 这个标志用于设置并行构建的线程数。1C表示使用一个核心(Core)的并行度,这意味着Maven会使用单个处理器的核心来执行任务。如果你的机器有更多的核心,你可以增加这个数字来加速构建。
-Dmaven.test.skip=true: 设置系统属性maven.test.skip为true,指示Maven跳过所有的测试执行。这可以加快构建速度,特别是在你不关心测试或者想快速构建可部署的工件时。
-Dmaven.compile.fork=true: 这个标志告诉Maven在单独的Java进程中编译源代码。这可以防止编译过程中的内存溢出或其他问题,尤其是在处理大型项目时。
-pl module/service: 通过-pl(--projects)参数指定要构建的特定模块。在这个例子中, module/service是模块的路径,意味着只构建service模块,而忽略项目中其他的模块。如果service是一个多模块项目中的子模块,那么只会构建这个子模块及其直接或间接依赖的子模块。
-am: --also-make参数。当指定一个模块时,Maven会自动构建这个模块所依赖的所有未构建的模块。结合-pl一起使用,即使你只指定了一个模块,Maven也会构建所有依赖的模块。

综上所述,这个命令将清理项目,跳过测试,使用单个处理器核心并行构建,仅构建 module/service模块及其依赖的模块,并打包结果。

 

posted @ 2017-08-04 16:49  QiaoZhi  阅读(425)  评论(0编辑  收藏  举报