springboot 多模块 maven 项目构建jar 文件配置

最近在写 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 对于资源文件,默认是在 srcmain esources 下,如果在其他目录需要使用,需要修改一下默认配置

<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>
...
原文地址:https://www.cnblogs.com/zhaopengcheng/p/8616762.html