最近在寫 springboot 項目時,需要使用多模塊,遇到了許多問題。
1 如果程序使用了 java8 的一些特性,springboot 默認構建工具不支持。需要修改配置
。。。 </build> </plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> <testSource>1.8</testSource> <testTarget>1.8</testTarget> </configuration> </plugin> </plugins> </build> 。。。
2 對於資源文件,默認是在 src\main\resources 下,如果在其他目錄需要使用,需要修改一下默認配置
<project> 。。。 <build> 。。。 </resources> <!-- 如果資源文件在java源文件夾里,需要使用配置將其打包到classpath下,這樣才可以找到 --> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> <include>**/*.properties</include> </includes> </resource> </resources> 。。。 </build> </project>
說明:對於前后端分離的項目,如果要將前端頁面也打包到 jar 或 wa r包中,需要將這些作為資源加進來。
例如:我的靜態資源 js,css,html...文件都放在 src/main/resources 文件夾下,該文件夾下所有文件都需要打包進來的話,可以作如下修改
<project> 。。。 <build> 。。。 <resources> 。。。 <resource> <directory>src/main/resources</directory> <includes> <include>**</include> </includes> </resource> </resources> </build> </project>
3 對於多模塊 springboot 項目,模塊之間有依賴關系,最后需要將可訪問的模塊打包成jar文件。在Springboot項目中使用默認的構建插件,打出來的 jar 包不能獨立運行。解決辦法
修改 pom 構建配置
<build>
<finalName>demo</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<mainClass>com.demo.test.DemoApplication</mainClass>
</configuration>
<executions>
<execution>
<goals>
<!-- 將所有的依賴jar包打包進 lib 文件夾里-->
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
...