Spring Shell打Jar包時常用小技巧
阿新 • • 發佈:2020-10-23
1、Main-Class
spring-shell專案打Jar包的一個必要條件就是,指定Main-Class為org.springframework.shell.Bootstrap
一般情況下,如果想在IDE中直接執行專案,顯示在控制檯中,也會呼叫org.springframework.shell.Bootstrap中的Main方法。如下:
import org.springframework.shell.Bootstrap; import java.io.IOException; public class HelloApplication { public static void main(String[] args) throws IOException { Bootstrap.main(args); } }
2、配置讀取新xml檔案
spring-shell專案,要求在resource/META-INF/spring目錄下,必須有一個spring-shell-plugin.xml檔案,打Jar包的時候必須要包括這個檔案。
在IDEA中,Maven專案是會預設掃描resource目錄的,但是打成Jar包的時候, 是不會掃描的。我也不知道為什麼,只是只是此時最好在pom.xml中配置一下,讓它讀取這個xml檔案:
<resources> <resource> <directory>src/main/resources</directory> <includes> <include>**/*.xml</include> </includes> </resource> <resource> <directory>src/main/java</directory> <includes> <include>**/*.xml</include> </includes> </resource> </resources>
PS:src/main/java目錄下的xml檔案也得讀。如果把上面這兩個<resource>合併到一起,寫成<directory>src/main</directory>,反而是不對的。太奇怪了。
3、打包多個Jar包
如果專案打Jar包時,需要依賴於另外一個spring-shell的Jar包,可以直接在pom.xml中新增依賴,這樣就會把所有的新增的命令合併到一起
<dependencies> <dependency> <groupId>cn.com.bignzi</groupId> <artifactId>dcore</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>cn.com.bignzi</groupId> <artifactId>plugin.data</artifactId> <version>0.0.1-SNAPSHOT</version> </dependencies>
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。