SpringBoot項目搭建與打包

1、環境準備

  1. 本地java環境jdk1.8
  2. Maven版本3.5.2
  3. IDE工具idea2017

2、SpringBoot微服務搭建

1.點擊File >> New >> Project,選中Spring Initializr,選擇項目JDK版本,點擊下一步便可。java

 

 

2.設置項目的基本信息和相關配置web

 

 

3.選擇spring boot版本和項目的基本依賴spring

 

 

4.選擇項目的位置apache

 

 

5.選擇打開一個新窗口maven

 

 

6.項目的基本結構ide

 

以上就是單個微服務項目搭建的基本過程函數

 

3、Spring Boot 多模塊項目搭建

主項目及相關配置

1.搭建一個主項目spring-boot

 

2.刪除src目錄,獲得如下項目結構微服務

 

 

3.打開pom文件獲得如下內容工具

 

由於主項目不須要打包,因此刪除項目打包配置,並把打包方式改成pom:修改結果以下

 

項目公共類微服務搭建

若是微服務比較多,項目比較複雜,多個項目可能使用同一個類和共用配置,因此咱們能夠把一些公用的代碼提取出來,放到一個微服務裏面供其餘微服務使用。

1.創建common模塊

右鍵選中項目 >> New >> Module

 

打開Module新建窗口,新建過程和普通微服務新建過程通常無二(能夠參考第二節)

 

 

由於公共微服務不須要啓動和測試,因此能夠刪除啓動類和test目錄

 

2.修改主項目master的pom文件

 

 

3.修改微服務common的pom文件(common也不須要打包)

 

 

應用類微服務搭建

幾乎全部項目都有用戶模塊,咱們能夠將用戶模塊單獨提出來,做爲一個微服務使用

1.新建用戶微服務模塊

 

 

2.修改主項目master的pom

 

 

3.修改微服務sysuser的pom,同時引入common

 

以上多模塊項目就搭建完成了

 

 

4、項目使用第三方jar包(本地jar包)

在項目src下新建一個lib文件夾,把全部第三方jar放入

 

 

在pom文件中配置dependency依賴

<dependency>
            <groupId>fileserver-client</groupId>
            <artifactId>fileserver-client</artifactId>
            <version>1.0.0</version>
            <scope>system</scope>
            <systemPath>${basedir}/src/lib/fileserver-client.jar</systemPath>
        </dependency>

這樣項目就能夠編譯成功,但項目打包的時候會報jar找不到的錯誤

5、項目打包配置

項目打包命令:mvn -Dmaven.test.skip –U clean package

能夠整個項目一塊兒打包,

 

 

也能夠單個微服務打包,不過這裏有一個地方須要注意

common打包出來的應該是不可執行的jar包,因此不要在common的pom中定義spring-boot-maven-plugin插件,由於這個SpringBoot插件會在Maven的package後進行二次打包,目的爲了生成可執行jar包,若是common中定義了這個插件,會報錯提示沒有找到main函數。這時你就能夠去打包sysuser項目了,固然打包的時候可能仍是不行,這裏還有一個小坑,若是仍是不能進行打包的話,那麼就install一下master項目,也就是總目錄下的pom文件對應的install操做,這樣再打包front項目基本上就沒有問題了,老鐵,都是經驗呀,但願對大家有幫助

 

 

打包jar

在項目中設置打包類型

<packaging>jar</packaging>

 

 

修改打包插件

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <mainClass>com.ccdc.microservice.upload.UploadApplication</mainClass>
                <layout>ZIP</layout>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
    <resources>
        <resource>
            <directory>src/lib</directory>
            <targetPath>BOOT-INF/lib/</targetPath>
            <includes>
                <include>**/*.jar</include>
            </includes>
        </resource>
        <resource>
            <directory>src/main/resources</directory>
            <targetPath>BOOT-INF/classes/</targetPath>
        </resource>
    </resources>
</build>

 

 

打包war

1.在項目中設置打包類型

<packaging>war</packaging>

 

 

2.修改打包插件

<build>
    <plugins>
        <!--設置maven-war-plugins插件,不然外部依賴沒法打進war包-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-war-plugin</artifactId>
            <configuration>
                <webResources>
                    <resource>
                        <directory>src/lib</directory>
                        <targetPath>WEB-INF/lib/</targetPath>
                        <includes>
                            <include>**/*.jar</include>
                        </includes>
                    </resource>
                </webResources>
            </configuration>
        </plugin>
    </plugins>
</build>

 

 

2.重寫應用啓動類

@SpringBootApplication
public class UploadApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(UploadApplication.class, args);
    }

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        return builder.sources(UploadApplication.class);
    }

}

 
相關文章
相關標籤/搜索