如何打jar包,两种方法轻松搞定
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何打jar包,两种方法轻松搞定相关的知识,希望对你有一定的参考价值。
参考技术A 1.在dos下面打包jar文件 D:\jdk1.5.0_07\bin> jar /help 用法:jar ctxu[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ... 选项: -c 创建新的存档 -t 列出存档内容的列表 -x 展开存档中的命名的(或所有的〕文件 -u 更新已存在的存档 -v 生成详细输出到标准输出上 -f 指定存档文件名 -m 包含来自标明文件的标明信息 -0 只存储方式;未用ZIP压缩格式 -M 不产生所有项的清单(manifest〕文件 -i 为指定的jar文件产生索引信息 -C 改变到指定的目录, 在命令行中运行刚刚生成的jar,命令如下: java -jar test.jar 如果在jar中有一些System.out.prinln语句,运行后想看看打印出的内容,可以用一下命令: java -jar test.jar >log.txt 输出信息会被打印到log.txt中,当然log.txt自动生成,并位于和test.jar一个目录中。 这里也可以新建一个start.bat文件,创建后;右键---编辑,输入:java -jar test.jar >log.txt;以后直接双击start.bat即可运行test.jar啦。 注意,如果你是在文件导出放在如:E盘,则你需要导入得包也要放在这个目录里。 如果一个文件名是一个目录,它将被递归处理。 清单(manifest〕文件名和存档文件名都需要被指定,按 'm ' 和 'f '标志指定的相同顺序。示例1:将两个class文件存档到一个名为 'classes.jar ' 的存档文件中: jar cvf classes.jar Foo.class Bar.class 示例2:用一个存在的清单(manifest)文件 'mymanifest ' 将 foo/ 目录下的所有 文件存档到一个名为 'classes.jar ' 的存档文件中: jar cvfm classes.jar mymanifest -C foo/ .
2.用eclipse打包jar文件
Eclipse通过导出的方式(右键单击项目,之后选择Export)打包java类文件生成jar包。
方法一:(在项目工程没有引用外部jar包时,直接导出) 选中工程---->右键,Export...--->Java--->JAR file--->next-->选择jar file的路径及名称-->next-->next---> 选择main class--->finish. 方法2: 当工程引用了其他的外部jar时,由于eclipse不支持同时导出外部jar包的功能,所以比较麻烦一点;具体步骤如下: 生成manifest file:选中工程--->右键,Export--->Java--->JAR file--->选择jar file的路径及名称--->next--->next--->next;
Spring boot如何引入本地jar包?
参考技术A 在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢?一般有两种方法。1,将本地jar包安装在本地maven库 ;2,将本地jar包放入项目目录中。本文主要讲第二种方式,这又分两种情况,一种是打包jar包,第二种是打包war包先看看jar包的结构,打包后jar包的路径在BOOT-INF\lib目录下,依赖的所有jar包都在此目录中,如下图所示。
首先,在项目目录中resources下创建文件夹jar用来存放本地jar包,如下图所示。
第二、pom文件中加入如下内容,以添加json-lib-2.3-jdk15.jar为例。
<dependency>
<groupId>com.ckfinder</groupId>
<artifactId>json-lib</artifactId>
<version>2.3</version>
<scope>system</scope>
<systemPath>$project.basedir/src/main/resources/jar/json-lib-2.3-jdk15.jar</systemPath>
</dependency>
注意,groupId,artifactId,version可随便写,这时候在项目中运行是没问题了,但是使用命令mvn clean package打包之后BOOT-INF\lib里面并没有json-lib-2.3-jdk15.jar包,还需要pom文件中做如下配置:
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<configuration>
<includeSystemScope>true</includeSystemScope>
</configuration>
</plugin>
注意粗体部分的配置,之后再使用mvn clean package打包就可以了。
相对与jar包,第三方jar包在war包中的目录如下图所示:
使用mvn clean package命令打包时需要在pom文件加入以下内容
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.4</version>
<configuration>
<webResources>
<resource>
<directory>src/main/resources/jar/</directory>
<targetPath>WEB-INF/lib/</targetPath>
<includes>
<include>**/*.jar</include>
</includes>
</resource>
</webResources>
</configuration>
</plugin>
以上是关于如何打jar包,两种方法轻松搞定的主要内容,如果未能解决你的问题,请参考以下文章
spring-boot项目直接读取jar包内文件的最简单方法