1. 程式人生 > >如何給maven專案打可執行jar包

如何給maven專案打可執行jar包

專案中可能有這樣的需求 一個空能需要將歷史資料匯入新的儲存容器(這只是場景的其中之一) 處理這樣的業務場景 有兩種方法

第一:可以做一個按鈕 點選觸發業務邏輯(查表 將結果集拿來迴圈處理 匯入我們期望的容器中)

第二:可以單純的寫一個小專案 只有service層 dao層 然後寫個main方法觸發呼叫 之後就將這個專案打成可執行jar包 扔到伺服器執行

這裡介紹第二種方式。以下主要內容為轉載    博主地址:http://blog.csdn.net/defonds/article/details/43233131 -----支援原創從我做起。

maven-shade-plugin外掛(其餘外掛要麼不支援spring 要麼有小bug)

在pom檔案中加入以下程式碼:

<build>  
    <plugins>  
        <plugin>  
            <groupId>org.apache.maven.plugins</groupId>  
            <artifactId>maven-shade-plugin</artifactId>  
            <version>1.4</version>  
            <executions>  
                <execution>  
                    <phase>package</phase>  
                    <goals>  
                        <goal>shade</goal>  
                    </goals>  
                    <configuration>  
                        <filters>  
                            <filter>  
                                <artifact>*:*</artifact>  
                                <excludes>  
                                    <exclude>META-INF/*.SF</exclude>  
                                    <exclude>META-INF/*.DSA</exclude>  
                                    <exclude>META-INF/*.RSA</exclude>  
                                </excludes>  
                            </filter>  
                        </filters>  
                        <transformers>  
                            <transformer  
                                implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">  
                                <mainClass>com.defonds.RsaEncryptor</mainClass><!-- main方法所在類 --> 
                            </transformer>  
                            <transformer  
                                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                                <resource>META-INF/spring.handlers</resource>  
                            </transformer>  
                            <transformer  
                                implementation="org.apache.maven.plugins.shade.resource.AppendingTransformer">  
                                <resource>META-INF/spring.schemas</resource>  
                            </transformer>  
                        </transformers>  
                    </configuration>  
                </execution>  
            </executions>  
        </plugin>  
    </plugins>  
</build>  

這種方式打包 會把專案配置檔案,maven依賴包都打到jar包中 執行的時候直接 java -jar XXXX.jar