生成可執行jar文件

說明:因爲須要將個人項目打包成可執行jar文件,網上找了不少方法,不少都不能實現(鄙人技術不佳)並且講的都很繁瑣。功夫不負有心人,最終簡單的方法被我找到了。java

1.首先個人MyEclipse項目是maven項目spring

2.項目具體內容沒什麼,只是個監聽文件。express

在pom裏面插入以下代碼。apache

<build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.3.3.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>

pom文件內容以下:json

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.roadshare.ciw</groupId>
    <artifactId>ActiveMQSub</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <name>ActiveMQSub</name>

    <dependencies>
        <dependency>
            <groupId>org.apache.activemq</groupId>
            <artifactId>activemq-all</artifactId>
            <version>5.11.1</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-email</artifactId>
            <version>1.4</version>
        </dependency>
        <dependency>
            <groupId>com.roadshare.ciw</groupId>
            <artifactId>EmailService.EmailSubcribeProtocol</artifactId>
            <version>1.0.1</version>
        </dependency>
        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.17</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-expression</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jms</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aspects</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-messaging</artifactId>
            <version>4.2.5.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.apache.xbean</groupId>
            <artifactId>xbean-spring</artifactId>
            <version>4.4</version>
        </dependency>
        <dependency>
            <groupId>net.sf.json-lib</groupId>
            <artifactId>json-lib</artifactId>
            <version>2.4</version>
            <classifier>jdk15</classifier>
        </dependency>
        <dependency>
            <groupId>commons-beanutils</groupId>
            <artifactId>commons-beanutils</artifactId>
            <version>1.8.3</version>
        </dependency>
    </dependencies>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>1.3.3.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>
        </plugins>
    </build>


</project>

注:POM 文件中添加了「org.springframework.boot:spring-boot-maven-plugin」插件。在添加了該插件以後,當運行「mvn package」進行打包時,會打包成一個能夠直接運行的 JAR 文件,使用「java -jar」命令就能夠直接運行。這在很大程度上簡化了應用的部署,只須要安裝了 JRE 就能夠運行。(http://www.ibm.com/developerworks/cn/java/j-lo-spring-boot/maven

 

3.執行打包命令spring-boot

運行後在target文件夾下生成jar文件,以下:ui

4.這時能夠看看jar包結構spa

各類依賴文件都打包在裏面,MANIFEST.MF中也指定了開始類文件(全項目只有這個類中有main方法,不然打包失敗)。插件

5.這時你能夠直接執行jar文件,或者寫個bat文件(將jar包和bat放在一個文件夾內)

@echo off
title activeMqSub
java -jar ActiveMQSub-0.0.1-SNAPSHOT.jar

將上面代碼保存在txt文件(記得修改成本身的jar文件名,個人jar包文件名是ActiveMQSub-0.0.1-SNAPSHOT.jar),而後保存修改後綴爲bat就能夠了。

執行bat文件

OK了。但願對你們有幫助。

相關文章
相關標籤/搜索