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 對於資源文件,默認是在 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>
...

 


免責聲明!

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



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