http://www.cnblogs.com/shirui/p/5270969.html

Java之 将程序打包成jar包

 

准备材料:

1.java文件:

Helloworld.java

package com.ray;
public class HelloWorld{
public static void main(String[] args) {
System.out.println("Hello!jar");
}
}

2.指定目录:建一个目录,来存放.class文件和.jar文件。 本文指定目录为 E:\myclass 。

一.命令行形式

1.将java文件编译到指定目录:

语法格式为:javac -d  指定目录  java文件

编译到 E:\myclass:  javac -d e:\myclass HelloWorld.java

若出现乱码异常则可以指定字符编码: javac -encoding UTF-8 -d e:\myclass HelloWorld.java

2.指定Main-Class:

编译完成后,myclass目录下生成了com文件夹。此时,在myclass文件目录下,建一个文件A(如1.txt)。

文件内容:Main-Class:(空格)全类名(回车)

1.txt文件内容为:Main-Class: com.ray.HelloWorld 回车

3.cmd进入指定目录(E:\myclass),使用jar命令打包

语法格式:jar -cvfm (jar名) 文件A 包的顶级目录

c        m       f

参数c:指定是创建新的归档文件。

参数v:在标准输出中生成详细输出,该选项是可选的。

参数f:指定打包后的包名。

参数m:指定自定义的MANIFEST.MF清单文件,否则,JDK会自动生成不包含Main-Class的默认清单。

本例: jar -cvfm my.jar 1.txt com

通过上述三个步骤,便在E:\myclass目录下创建了my.jar。当然这三个步骤,也可酌情省略。

另:附上在cmd中运行jar包的命令:  java -jar jar包名,如  java -jar my.jar

二.在Eclipse中

1.打包成一般jar包

(1)要打包的项目上右击—> Export—> Java —> JAR File—>next

(2)在JAR File Specification窗口中,设置打包成的文件名和存放位置,点击两侧next

(3)在JAR Manifest Specification窗口中,设置MANIFEST.MF清单文件的配置,

若仅仅打包成单纯的jar包的话,不用做任何修改,采取默认即可

若打包成可执行jar包的话,可以使用已存在的MANIFEST文件或者直接选择Main class

(4)点击Finish按钮,完成打包。

   2.打包成可运行的jar包

(1)要打包的项目上右击—>Export—>Java —>Runnable JAR File—>next

(2)在Runnable JAR File Specification窗口中,选择Launch configuration和Export destination

(3)点击Finish按钮,打包完成。

java jar的更多相关文章

  1. [原创] 如何用Eclispe调试java -jar xxx.jar 方式执行的jar包

    有时候,我们经常会需要调试 java -jar xxx.jar方式运行的代码,而不是必须在Eclipse中用Debug或者Run的方式运行.比如我们拿到的SourceCode不完整.Java提供了一种 ...

  2. java -jar 执行 eclipse export 的 jar 包报错处理

    1. 错误1:打 jar 包执行,报错,找不到 类库的 jar 包 F:\>java -jar remoteLogin.jarException in thread "AWT-Even ...

  3. 设置 java -jar 的进程显示名称

    有时候我们会用 nohup java -jar xxx.jar来将一些可执行的java application挂在后台,类似windows服务一样来运行.但是有一个不爽的地方,在linux终端里用jp ...

  4. java -jar jenkins.war

    //设置jenkins主目录,并启动 #! /bin/sh CurrentDir=`dirname $` export JENKINS_HOME=$CurrentDir/jenkins_home ec ...

  5. Java jar命令 常见用法

    一.jar命令作用: 进行打包 -- 把多个文件打包成一个压缩包 -- 这个压缩包和Winzip的压缩格式是一样的. 区别在于jar压缩的文件默认多一个META-INF的文件夹,该文件夹下包含一个Ma ...

  6. 【JavaService】部署Java jar为Windows后台服务

    将Java jar文件部署为Windows后台服务有多种方法:Service Installer.Java service Wrapper.JavaService.exe等等.这里介绍下使用JavaS ...

  7. java jar包解析:打包文件,引入文件

    java jar包解析:打包文件,引入文件 cmd下: jar命令:package包打包 javac命令:普通类文件打包 Hello.java: package org.lxh.demo; publi ...

  8. java -jar shell 启动、停止

    启用 vi start.sh #!/bin/sh # ################################################################## # Powe ...

  9. -Xbootclasspath参数、java -jar参数运行应用时classpath的设置方法

    当用java -jar yourJarExe.jar来运行一个经过打包的应用程序的时候,你会发现如何设置-classpath参数应用程序都找不到相应的第三方类,报ClassNotFound错误.实际上 ...

随机推荐

  1. linux gksu用法

    apt-get install gksu gksu是linux下图形化的su/sudo工具 sudo 用来执行命令行(CLI)程序 gksu 用来执行图形的(GUI)程序 GUI = Graphica ...

  2. poj 1144 Network(无向图求割顶数)

    题目链接:poj 1144 题意就是说有 n(标号为 1 ~ n)个网点连接成的一个网络,critical places 表示删去后使得图不连通的顶点,也就是割顶,求图中割顶的个数. 直接上大白书上的 ...

  3. jackson annotations注解详解 (zhuan)

    http://blog.csdn.net/sdyy321/article/details/40298081 ************************************** 官方WIKI: ...

  4. TortoiseSVN文档

    https://tortoisesvn.net/docs/release/TortoiseSVN_zh_CN/index.html TortoiseSVN 针对 Windows 平台的 Subvers ...

  5. jQuery数组的遍历 function的加载

    加载函数时会被覆盖在jQuery中给提供的方案有三种形式 js中只能绑定一个方法 如果多次绑定后者会覆盖前者 最常用的一种 在jQuery中数组的遍历 使用map遍历数组  会返回一个新的数组  如果 ...

  6. Edit Distance编辑距离(NM tag)- sam/bam格式解读进阶

    sam格式很精炼,几乎包含了比对的所有信息,我们平常用到的信息很少,但特殊情况下,我们会用到一些较为生僻的信息,关于这些信息sam官方文档的介绍比较精简,直接看估计很难看懂. 今天要介绍的是如何通过b ...

  7. centos7 修改selinux 开机导致 faild to load SELinux policy freezing 错误

    centos7 修改selinux 开机导致 faild to load SELinux policy  freezing 错误 之前把selinux关闭了,这次想打开selinux,于是修改了 /e ...

  8. 【BZOJ 2818】Gcd - 筛法求素数&phi()

    题目描述 给定整数,求且为素数的数对有多少对. 分析 首先筛出所有的素数. 我们考虑枚举素数p,统计满足的个数,等价于统计的个数,即统计以内满足互质的有序数对个数. 不难发现,也就是说,我们只要预处理 ...

  9. ubuntu12.04 安装配置jdk1.7

    第一步:下载jdk-7-linux-i586.tar.gz wget -c http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-i586 ...

  10. spring来了-05-JDBC

    概述 Spring对C3P0连接池的支持很完善 Spring对jdbc提供了JdbcTemplate,来简化jdbc操作, JdbcTemplate模板工具类,类似于DbUtils组件 JDBC: p ...