springboot中Maven打包与依赖的jar分开

   我们在用springboot开发时,时常会遇到这种问题,当我们对程序做了一个小改动时,如果要将改动后的程序发布到生产环境,则需要将整个程序重新打包,然后将打完的包发布到生产环境上,这样有个问题,如果依赖的jar包很多,就会导致所打的包很大,每次修改都需重新复制,这样就会导致效率很低,因此,为了提高效率,我们可以将依赖的jar包与程序分别放在不同地方,这样只需第一次将依赖的jar包与所打程序包复制到开发环境,后面如果只是程序上的修改就可以只需重新打程序包,然后复制,这样就会节省很多时间。
   pom文件如下所示,首先需要加入依赖的打包文件:

    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-resources-plugin</artifactId>
        <version>2.4.3</version>
    </dependency>

    <dependency>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.1.0</version>
    </dependency>

   配置如下:

<plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-jar-plugin</artifactId>
            <configuration>
                <archive>
                    <manifest>
                        <addClasspath>true</addClasspath>
                        <classpathPrefix>lib/</classpathPrefix>
                        <mainClass>com.hfz.hfzadmin.HfzadminApplication</mainClass>
                    </manifest>
                </archive>
            </configuration>
        </plugin>

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <executions>
                <execution>
                    <id>copy-dependencies</id>
                    <phase>prepare-package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>${project.build.directory}/lib</outputDirectory>
                        <overWriteReleases>false</overWriteReleases>
                        <overWriteSnapshots>false</overWriteSnapshots>
                        <overWriteIfNewer>true</overWriteIfNewer>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>

   上面一个配置是指定程序依赖包的位置,下面一个是指定将依赖的jar包存放的位置。重新打包后的文件目录结构如下所示:


这里写图片描述

猜你喜欢

转载自blog.csdn.net/u013305783/article/details/80576649
今日推荐