生成可执行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了。但愿对你们有帮助。

相关文章
相关标签/搜索