1. 程式人生 > 程式設計 >Spring Shell打Jar包時常用小技巧

Spring Shell打Jar包時常用小技巧

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>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。