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): 表示同时处理选定模块所依赖的模块

参考地址

posted @ 2019-08-25 23:54  复合式→展开式  阅读(786)  评论(0编辑  收藏  举报