eclipse导出可直接运行的jar项目

来源:互联网 发布:吴用 知乎 编辑:程序博客网 时间:2024/05/16 12:31

**

eclipse导出可直接运行的jar项目(maven)

1、pom.xml

    <modelVersion>4.0.0</modelVersion>    <groupId>crawler</groupId>    <artifactId>crawler</artifactId>    <version>0.0.1-SNAPSHOT</version>    <packaging>jar</packaging>    <name>crawler</name>    <url>http://maven.apache.org</url>    <properties>        <java-version>1.7</java-version>        <mybatis-version>3.2.3</mybatis-version>        <mysql-version>5.1.18</mysql-version>        <junit-version>4.12</junit-version>        <spring-version>4.0.7.RELEASE</spring-version>        <crawler4j-version>4.2</crawler4j-version>        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>    </properties>

并且需要设置程序的入口,也就是运行jar时,会直接访问该方法来运行

<build>        <finalName>crawler</finalName>        <plugins>            <plugin>                <artifactId>maven-compiler-plugin</artifactId>                <version>2.5.1</version>                <configuration>                    <source>${java-version}</source>                    <target>${java-version}</target>                    <encoding>${project.build.sourceEncoding}</encoding>                </configuration>            </plugin>            <plugin>                <groupId>org.apache.maven.plugins</groupId>                <artifactId>maven-shade-plugin</artifactId>                <version>2.4.3</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>                                <!-- 打包jar文件时,配置manifest文件,加入程序入口mainClass -->                                <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">                                    <mainClass>com.sysssc.crawler.main.MainInstantiation</mainClass>                                </transformer>                                <!-- AppendingTransformer 指定当文件冲突时需要合并的文件 -->                                <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>

然后可以开始导出jar文件了,最好在导出之前clean下项目
1、点击项目右键,选择debug as / run as 下的maven install
这里写图片描述

这里写图片描述

2、坐等它install完成,第一次的时候它会去下载一些东西,所以可能会比较慢,后面再次生成的时候就很快了 -。-
这里写图片描述
3、成功后打开项目的target文件夹,如我的路径在D:\work\crawler\10_Source\crawler\target,下面有生成好的jar文件,是可以通过命令直接运行的。
这里写图片描述
Windows:1) 打开命令行窗口cmd.exe
2) 执行命令: java –jar 相应的jar文件.jar(在jar文件路径下运行)
3)还有一种方式,就是创建一个批处理文件(.bat):
在jar文件目录下创建一个.bat文件
这里写图片描述
创建成功后打开文件,复制一句很简单的话—java -jar -Xmn600m -Xms1200m -Xmx1200m crawler.jar (crawler.jar是项目的名字,如需了解这句话的含义,自己去搜索吧)
然后双击这个文件就ok了^^
Linux:1) java -jar crawler.jar
特点:当前ssh窗口被锁定,可按CTRL + C打断程序运行,或直接关闭窗口,程序退出
2)java -jar crawler.jar &
&代表在后台运行。
特定:当前ssh窗口不被锁定,但是当窗口关闭时,程序中止运行。
3)nohup Java -jar shareniu.jar &
nohup 意思是不挂断运行命令,当账户退出或终端关闭时,程序仍然运行
当用 nohup 命令执行作业时,缺省情况下该作业的所有输出被重定向到nohup.out的文件中,除非另外指定了输出文件。

原创粉丝点击