maven打包
如果打成jar包, pom文件中设置打包方式(默认是打包成jar包)
<packaging>jar</packaging>
添加jar包依赖
<dependency>
<groupId>com.slyak</groupId>
<artifactId>spring-data-jpa-extra</artifactId>
<version>3.0.0.RELEASE</version>
<!-- system 系统中要以外部JAR包的形式提供,maven不会在repository查找它 -->
<scope>system</scope>
<systemPath>${project.basedir}/lib/spring-data-jpa-extra-3.0.0.RELEASE.jar</systemPath>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
</plugins>
</plugins>
ok!!
二、打成war包
<!-- 设置pom的打包方式 -->
<packaging>war</packaging>
<!-- jar包依赖 -->
<dependency>
<groupId>com.slyak</groupId>
<artifactId>spring-data-jpa-extra</artifactId>
<version>3.0.0.RELEASE</version>
<!-- system 系统中要以外部JAR包的形式提供,maven不会在repository查找它 -->
<scope>system</scope>
<systemPath>${project.basedir}/lib/spring-data-jpa-extra-3.0.0.RELEASE.jar</systemPath>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
<!-- 这个插件是将system域(只在编译和测试可用)也就是自定义jar包(打成war包时放在lib-provided,tomcat不扫描)放到/WEB-INF/lib下
打成war包时用
-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.8</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>compile</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/${project.build.finalName}/WEB-INF/lib</outputDirectory>
<includeScope>system</includeScope>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
打包时的命令
mvn打包,并指定 Profiles配置文件 和 模块名
mvn clean package {-P prod} -pl {groupId}:{artifactId} -am -Dmaven.test.skip=true
-P代表(Profiles配置文件)
也就是说在<profiles>指定的<id>中,可以通过-P进行传递或者赋值。
-pl (全称:--projects) 说明:选项后可跟随 {groupId}:{artifactId} 或者所选模块的相对路径(多个模块以逗号分隔)
-am (全称:--also-make): 表示同时处理选定模块所依赖的模块