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): 表示同時處理選定模塊所依賴的模塊

參考地址


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM