springboot中Maven打包與依賴的jar分開
阿新 • • 發佈:2019-01-10
我們在用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包存放的位置。重新打包後的檔案目錄結構如下所示: