linux怎么执行jar文件 怎么打可执行的jar包

Linux下执行jar文件方法:命令行下进入文件目录,执行java -jar file.jar即可,也可在桌面创建一个启动器,在命令栏填写相关的命令:java -jar /file路径/file.jar,这样在桌面双击即可打开该jar文件

创建可执行的 JAR 文件包详解:JAR 文件就是 Java Archive File,顾名思意,它的应用是与 Java 息息相关的,是 Java 的一种文档格式。JAR 文件非常类似 ZIP 文件--准确的说,它就是 ZIP 文件,所以叫它文件包。JAR 文件与 ZIP 文件唯一的区别就是在 JAR 文件的内容中,包含了一个 META-INF/MANIFEST.MF 文件,这个文件是在生成 JAR 文件的时候自动创建的.举个例子,如果我们具有如下目录结构的一些文件:
  ==
  `-- test
    `-- Test.class
把它压缩成 ZIP 文件 test.zip,则这个 ZIP 文件的内部目录结构为:
  test.zip
  `-- test
    `-- Test.class
如果我们使用 JDK 的 jar 命令把它打成 JAR 文件包 test.jar,则这个 JAR 文件的内部目录结构为:
  test.jar
  |-- META-INF
  |  `-- MANIFEST.MF
  `-- test
    `--Test.class
创建可执行的 JAR 文件包,需要使用带 cvfm 参数的 jar 命令,同样以上述 test 目录为例,命令如下:jar cvfm test.jar manifest.mf test,这里 test.jar 和 manifest.mf 两个文件,分别是对应的参数 f 和 m,其重头戏在 manifest.mf。因为要创建可执行的 JAR 文件包,光靠指定一个 manifest.mf 文件是不够的,因为 MANIFEST 是 JAR 文件包的特征,可执行的 JAR 文件包和不可执行的 JAR 文件包都包含 MANIFEST。关键在于可执行 JAR 文件包的 MANIFEST,其内容包含了 Main-Class 一项。这在 MANIFEST 中书写格式如下:Main-Class: 可执行主类全名(包含包名)
例如,假设上例中的 Test.class 是属于 test 包的,而且是可执行的类 (定义了 public static void main(String[]) 方法),那么这个 manifest.mf 可以编辑如下:Main-Class: test.Test ,这个 manifest.mf 可以放在任何位置,也可以是其它的文件名,只需要有 Main-Class: test.Test 一行,且该行以一个回车符结束即可。创建了 manifest.mf 文件之后,我们的目录结构变为:
  ==
  |-- test
  |  `-- Test.class
  `-- manifest.mf
这时候,需要到 test 目录的上级目录中去使用 jar 命令来创建 JAR 文件包。也就是在目录树中使用==表示的那个目录中,使用如下命令:jar cvfm test.jar manifest.mf test
之后在==目录中创建了 test.jar,test.jar 就是执行的 JAR 文件包。运行时只需要使用 java -jar test.jar 命令即可。
需要注意的是,创建的 JAR 文件包中需包含完整的、与 Java 程序包结构对应的目录结构。而 Main-Class 指定的类,也必须是完整的、包含包路径的类名,如上例的 test.Test;而且在没有打成 JAR 文件包之前可以使用 java  来运行这个类,即在上例中 java test.Test 是可以正确运行的 (当然要在 CLASSPATH 正确的情况下)。

时间: 2024-11-04 21:33:13

linux怎么执行jar文件 怎么打可执行的jar包的相关文章

maven 构建可执行jar文件

第一部分:认识jar中的MANIFEST.MF文件 一.MANIFEST.MF文件的基本配置信息: 1.一般属性: Manifest-Version:定义manifest文件的版本 Created-By:定义该文件的生成者,一般是由jar命令行工具生成 Signature-Version:定义jar文件的签名版本(关于jar文件的签名以后详谈) Class-Path:(具体作用在下面讲) 2.应用程序相关属性: Main-Class:定义jar文件的入口类(该类必须是一个可执行的类):定义该属性

如何创建JAR文件?如何运行.jar形式的Java程序?

一.如何创建JAR文件? .jar是用来压缩档案或者解压档案的文件格式,其特点是具有无损压缩的功能.想知道如何创建这种程序?请访问 http://www.cnblogs.com/yjmyzz/p/executable-jar.html .jar可以通过整理Java程序的类别文件来变为可执行文件,而编译器或Java虚拟机可以识别这些格式..jar文件是通过javaw(Java应用程序管理器)执行的.你需要设置.jar文件中的应用程序接入点(即含有程序主功能的文件类别).你需要通过清单文件(Mani

《疯狂Java讲义》(十八)---- JAR文件

使用JAR文件 JAR文件全称Java ARchive File, java档案文件. 通常JAR文件是一种压缩文件,通常称为JAR包.JAR文件和ZIP文件的区别是JAR文件默认包含了一个名为META-INF/MANIFEST.MF的清单文件,这个清单文件时在生成JAR文件时由系统自动创建的. 当开发了一个应用程序后,这个应用程序包含了很多类,如果需要把这个应用程序提供给别人使用,通常会将这些类文件打包给一个JAR文件,把这个jar文件提供给别人使用. 只要别人在系统的CLASSPATH环境变

Android 编程下如何修改 jar 文件的包名

首先我们要说说为什么要修改 jar 文件的包名,jar 包我们会非常高频率的使用,尤其是用一些其他三方库的时候,往往把 java 代码打包成 jar 文件,方便项目依赖使用.笔者在开发过程中遇到过一些问题,是由于 jar 文件里面的包名和项目或者运行时环境的引用文件包名上存在冲突导致的,这时候我们修改 jar 文件的包名是一个比较快速有效的解决办法.举两个例子,是笔者亲身经历的两个情况. Gson库:这个相信很多人都在使用,但是直接导入 gson 的 jar 包,在 HTC Desire HD

Ant入门之引用外部jar文件

笔者在java项目开发中经常遇到引用外部Jar包的情况,使用ant打包过程中需要对其引用.现在此简单记忆以飨来者. 此处引用Log4j,具体程序HelloLog4j.java: package oata; import org.apache.log4j.Logger; import org.apache.log4j.BasicConfigurator; public class HelloLog4j { static Logger logger = Logger.getLogger(HelloL

Maven使用第三方jar文件的两种方法 转

在Maven中,使用第三方库一般是通过pom.xml文件中定义的dependency从远程repository中下载该库.但是如果库文件是公司内部的库,或者在本地而不能通过远程repository下载,这种情况下,有两种方法可以满足需求. 方法一: 将本地的jar文件安装到本地repository中,具体步骤如下:1.准备好本地的jar文件2.使用如下命令安装jar文件      mvn install:install-file -Dfile=abc.jar      -DgroupId=com

转载:JAR 文件揭密

大多数 Java 程序员都熟悉对 JAR 文件的基本操作.但是只有少数程序员了解 JAR 文件格式的强大功能.在本文中,作者探讨了 JAR 格式的许多功能和优势,包括打包.可执行的 JAR 文件.安全性和索引. JAR 文件是什么? JAR 文件格式以流行的 ZIP 文件格式为基础,用于将许多个文件聚集为一个文件.与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库.组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用.在 JAR 中包含特殊的文件,如 man

【JAVA】在jar文件中引用图片等外部资源的问题

很多时候我们需要把java程序导出成可执行的jar包,但是往往会遇到一个问题:程序中引用的外部资源如图片等在可执行jar包中失效.笔者自己也遇到了这个问题,查阅了网上的一些资料,写得不太易懂,稍微研究了一下算是解决了这个问题,在这里记录下来. 我们以一个特别简单的程序为例,在JFrame中放置一张图片,工程的文档结构如下: 注意到图片资源是存放在src下的.代码如下: 1 package in.love1017best; 2 3 import javax.swing.*; 4 5 public

Jar文件 META-INF/MANIFEST.MF文件详解

打开Java的JAR文件我们经常可以看到文件中包含着一个META-INF目录, 这个目录下会有一些文件,其中必有一个MANIFEST.MF,这个文件描述了该Jar文件的很多信息,下面将详细介绍MANIFEST.MF文件的内 容,先来看struts.jar中包含的MANIFEST.MF文件内容: Manifest-Version: 1.0Created-By: Apache Ant 1.5.1Extension-Name: Struts FrameworkSpecification-Title: