一次緊急項目開發,Springboot框架搭建完成,直接編輯器[eclipse]里開發代碼,代碼開發完成后,一直都在編輯器里啟動服務
測試正常后,准備發測試包的時候,編譯成功, but 啟動失敗,what? 如下圖
啟動執行,java -jar xx.jar結果如下
經查找發現 POM文件內容缺失 spring-boot-maven-plugin
,如下
<build>
<finalName>office</finalName>
<resources>
<resource>
<directory>${basedir}/src/main/webapp</directory>
<!--注意此次必須要放在此目錄下才能被訪問到 -->
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<resource>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<fork>true</fork>
</configuration>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>${project.basedir}/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>
</plugins>
</build>
另外通過本地引入的二方包或三方包,需要修改為maven的scope為system本地jar, 如下
依賴定義
<dependency>
<groupId>xxxxx.xx.xxx</groupId> /* 隨意填*/
<artifactId>xxxx</artifactId>/* 隨意填*/
<version>1.0.0</version>/* 隨意填*/
<scope>system</scope>
<systemPath>${project.basedir}/src/main/resources/lib/{third-name.jar}</systemPath>/* 引入包路徑 */
</dependency>
編譯打包
<build>
<resources>
<resource>
<directory>${project.basedir}/src/main/resources/lib</directory>
<targetPath>BOOT-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</resources>
</build>
以上
2020-03-26