如何将Java文件打包成jar文件
ECLIPSE将引用了第三方JAR包的JAVA项目打包成JAR文件的两种方法
ECLIPSE将引用了第三方JAR包的JAVA项目打包成JAR文件的两种方法在Eclipse中,我们可以使用两种方法将引用了第三方JAR包的Java项目打包成JAR文件。
下面将详细介绍这两种方法。
方法一:使用Eclipse自带的导出功能1. 在Eclipse中,右键单击项目,选择"Export"。
2. 在弹出的对话框中,选择"Java"下的"JAR file",然后点击"Next"。
3. 在"JAR File Specification"页面上,选择要导出的项目以及要导出的资源;在"Export destination"中,指定导出的JAR文件的保存路径和文件名。
4. 在"JAR Packaging Options"页面上,选择"Export generated class files and resources",确保要导出的类文件和资源都被包含在JAR文件中。
5. 在"Select the export destination"页面上,选择"Package required libraries into generated JAR",这将会将所需的第三方JAR包也包含在生成的JAR文件中。
6. 点击"Finish"完成导出。
这种方法的优点是简单快捷,只需要几个简单的步骤就可以完成打包。
但是缺点是生成的JAR文件会将第三方JAR包也放在同一个目录下,可能导致文件夹混乱。
方法二:使用Apache Maven插件打包1. 首先,确保你的项目中存在pom.xml文件,它描述了项目的依赖关系和构建配置。
2. 打开Eclipse的"Terminal"窗口,或者使用其他的命令行工具。
详解JavaProject项目打包成jar,并生成exe文件
详解JavaProject项⽬打包成jar,并⽣成exe⽂件初衷:⼯作中写⼀些辅助⼯作的⼩⼯具时,将其打成exe,⽅便使⽤准备⼯作:Eclipse,jdk,net.sf.fjep.fatjar_0.0.32.jar,exe4j.exe1 将项⽬打包成jar⽂件:1.1 ⽤Eclpise的Export功能⽣成jar(单纯⽣成jar包时推荐)⽬录结构右击项⽬,选择Export只留java⽂件默认next到finish,有两种处理⽅式⽅式⼀:⾃动⽣成MANIFEST.MF(默认的) ⽅式⼆:⾃⼰写MANIFEST.MF(可以写⼀些⾃⼰想要的内容)说明: 1) 通过指定“Main-Class”来达到可执⾏jar⽂件的⽬的 2) 其实我们最终是将项⽬打包成exe,Class-Path可以不指定,在打包exe的时候还要指定classpath的 3) 因为有依赖包和资源⽂件,执⾏⽣成的jar⽂件,会报异常 1.2 ⽤eclipse三⽅插件fatjar⽣成jar(⽣成exe⽂件时推荐)下载net.sf.fjep.fatjar_0.0.31.jar,将去放在Eclipse的plugins⽬录下右击项⽬,选择Build Fat Jar 选择项⽬⽤到的外部依赖jar 说明:此jar是可执⾏的2 将项⽬⽣成exe⽂件:(使⽤软件是exe4j)在任意⽬录创建⼀个⽂件夹,命名最好和项⽬名相同,将⼀下⽂件放⼊其中打开exe4j,按步骤操作:1.welcome 跳过2.Project type 3.Application info 4.Executable info5.Java invocation6.JRE Search sequence Preferred VM 7.Splash screen,8.Messages,pile executable,10.Finishednext --> finish注:⽤到的软件是exe4j,注意要注册激活(⽹上随便找个注册码就好),不然运⾏⽣成的exe⽂件时会有弹出框以上就是本⽂的全部内容,希望对⼤家的学习有所帮助,也希望⼤家多多⽀持。
Java打包成jar文件,以及将jar文件导出为exe文件方法汇总
Java打包成jar文件,以及将jar文件导出为exe文件方法汇总(图形说明)一、Java打包成jar文件方法一:用Eclipse导出jar文件注:我用的是Eclipse,但是MyEclipse也大同小异首先右键点击所要打包的工程,选择Export选项选择JAR file,点击Next在要打包的工程前打钩,如上图红色所示;选择导出文件的目的地址,如图蓝色所示,包名随意,没有特定的要求;点击Next点击Browse选择到主类所在的上一个文件夹,别忘了填写File name(随意起名即可),点击OK;点击第四幅图的下面的Browse按钮,选择主类的名字,如下图所示点击OK,即可完成打包。
运行jar文件,可将jar文件与一个批处理文件放到一个文件夹中;其中批处理文件的内容为:java -jar neme.jar(其中name为jar包的名字)批处理文件格式为.bat;双击批处理文件即可运行程序。
PS:将java工程文件打包成.exe文件我用的是一个exe4j的免费软件第一步:默认即可,直接点击Next第二步:如果有已经制作好的jar文件,选择“JAR in EXE”mode,然后点击Next第三步:红色划线框内填写工程名字,随意即可;蓝色划线框内填写打包后的exe文件输出目录第四步:如果需要导出为exe文件的是图形界面,则选择GUI application;如果要导出为exe文件的是控制台的,则选择console application;Executable name写你将要生成的exe文件的名字,Icon File可以选择生成文件的图标第五步:点击绿色的加号,出现如下所示对话框,选择archive,然后选择已经打包好的jar文件选择主类完成后如图所示第六步:最小版本填1.3,最大版本填1.6;如果只需导出的exe在装有JRE的机子上可以运行,那么一路Next下去,最后点击Finish即可;如果想要在没有装JRE的机器上运行,那么需要继续,点击Advanced Options,选择searchsequence选择Directory,点击浏览按钮,选择JRE所在的根目录,将JRE复制过来,如下图所示选择Preferred VM,选择Client hotspot VM第7、8步是一些基本配置,默认即可,第9步编译,第10步你就可以看到以下效果了好了,大功告成了~方法二:用命令生成jar文件首先编写一个清单文件,名为:MANIFEST.MFT,其代码如下:Manifest-Version: 1.0//该属性是创建可执行jar包必需的,指定的Main-Class为全路径类名(且该类必需有main方法)Main-Class:填写你的主类Created-By: 1.5.0_02 (Sun Microsystems Inc.)然后,使用如下命令生成jar文件:jar cfm 填写你要生成jar的名字.jar MANIFEST.MFT *.class其中,c表示要生成一个新的jar文件;f表示生成jar的名字;m表示清单文件的名字二、ar文件导出为可执行文件,即exe文件方法一:用j2ewiz,使用方法如下:操作步骤:1、双击j2ewiz.exe,出现软件注册窗口,点击下一步。
命令行下编译java并生成jar包(1)
命令行下编译java并生成jar包jar文件听说过吗,没有?或者陌生!好,没关系,这就是我们的第一站:打包发布。
为什么会有这个玩意呢,首先,这是jar的全称:JavaTM Archive (JAR) file,是的,就是java 存档文件。
这有点类似zip文件,想一想它是干什么的用的呢,压缩!?没错就是要压缩,将我们原先零散的东西放到一下,重新组织,所有这些目的只有一个:方便!好了,不用管他是怎么压缩的,我们的重点是哪些是我们要压缩的(输入),还有压缩成了什么(输出),进而将它发布(部署)。
那我们的输入(要压缩的东西)主要是class文件,还有辅助的资源(这其中可能有图片,jsp文件,html文件等等)。
Jar技术在jdk1.1版本中就已存在,在1.2中又有了增强。
接下来说说jar的好处吧,这是官方的描述:安全,快速下载,压缩,猎取包,版本化包,可携。
说了这么多,我们现在开始实施。
先打开命令提示符(win2000或在运行筐里执行cmd命令,win98为DOS提示符),输入jar –help,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么:用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名…选项:-c 创建新的存档-t 列出存档内容的列表-x 展开存档中的命名的(或所有的〕文件-u 更新已存在的存档-v 生成详细输出到标准输出上-f 指定存档文件名-m 包含来自标明文件的标明信息-0 只存储方式;未用ZIP压缩格式-M 不产生所有项的清单(manifest〕文件-i 为指定的jar文件产生索引信息-C 改变到指定的目录,并且包含下列文件:如果一个文件名是一个目录,它将被递归处理。
清单(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/ .来个小例子试试看:我们只有一个HelloWorld,如下:public class HelloWorld{public static void main(String[] args){System.out.println(―Hi, Hello World!‖);}}我将这个java文件存到C盘跟目录下,ok,接下来,在先前打开的命令提示符下(跳转到C盘提示符下),我们输入javac HelloWorld.java,然后继续输入:jar cvf hello.jar HelloWorld.class,回车后去你的C盘看看,多了什么,没错hello.jar 。
(原创)java程序打包jre以及制作安装包
3. 再次运行这个 jar 文件,发现已经包含了图片等文件
4.我们肯定不能让用户这样去运行我们的程序,所以必须要转成可以双击运行的方式。
四、将 jar 文件转换为可以直接双击运行的 exe 文件
1. 将 jar 文件转为 exe 文件有一个很好的软件叫做
/zh/jar2exe/free.htm 我们下载绿色版本
如图
双击 Kejian.exe,看一下效果:
16.虽然程序已经完成,但是我们不可能会给用户一个文件夹,然后让用户复制,复制好以
后双击 exe 去运行这个程序,所以接下来我们还要制作安装程序包。
五、制作程序安装包
1. 制作安装包需要的软件名字叫做 件管家搜索下载,如图:
java程序打包方法
前言:我们都知道Java可以将二进制程序打包成可执行jar文件,双击这个jar和双击exe效果是一样一样的,但感觉还是不同。
其实将java程序打包成exe也需要这个可执行jar文件。
准备:eclipse、exe4j(网上有软件和帐号下载)第一步,将java项目打包成可执行jar文件,首先看一下我的java project结构,Main.java 是程序入口类,里面有main函数,config目录是些配置文件,lib是用到的第三方类库开始打包,Simulate(Java项目)-鼠标右键-Export弹出窗口,选择“JAR file”,点击“Next”取消勾选“config”和“lib”目录,以及eclipse生成的项目配置文件“.classpath”和“.project”,点击“Next”一切默认,点击“Next”在弹出窗口中,选择我们自己创建的MANIFEST.MF文件,点击“Finish”我的MANIFEST.MF文件内容为:Manifest-Version: 1.0Main-Class: bing.MainClass-Path: . lib/ojdbc14.jar lib/poi-2.5.1.jar lib/jbcl.jarlib/JTattoo.jar lib/liquidlnf.jarCreated-By: IceWee通过指定“Main-Class”来达到可执行jar文件的目的。
其实我们最终是将项目打包成exe,Class-Path可以不指定,在打包exe的时候还要指定classpath的。
第二步,将项目打包成exe,这里要明确一点,并不是把所有的文件都打包成一个exe,资源文件是不能包进去的,往下看↓首先,在任意目录创建一个文件夹,最好命名和项目名相同,我在F盘创建了一个“Simulate”文件夹,之后将所有的资源文件以及我们生成的可执行jar文件(我的Simulate.jar)都拷贝到这个文件夹里,config目录和lib目录,如果你怕执行该程序的机器上没安装jre,那么你需要将自己机器上的jre目录也拷贝进来,我安装的jre5,最后的目录结构:打开exe4j,跳过欢迎,直接点击左侧导航的第二项,因为我们已经提前将java项目打包成可执行jar文件了在弹出窗口,选择“JAR in EXE mode”,点击“Next”在新窗口中,为我们的应用取个名称,之后选择exe生成目录(我的F:\Simulate),点击“Next”为我们要生成的exe取名,如果想生成自定义图标,那么选择你的ico文件,如果你不想在一台电脑上运行多个你的程序,你可以勾选“Allow only a single...”,点击“Next”点击绿色“+”,设置程序运行的Class Path先选择我们自己的可执行jar文件(我的Simulate.jar),点击OK我们的Simulate.jar就加到Class Path下了之后点击General中的Main Class选择按钮,在弹出窗口中,exe4j会自动搜索当前Class Path下的全部jar中包含main方法的类,并列出,因为当前我只选择了自己项目的jar,而我的项目中只有Main.jar包含了main方法,所以一目了然,直接选择它点击“OK”,程序入口类就设置完成了Main Class设置完成后,依次将所有需要的第三方类库加到Class Path下,方法同添加“Simulate.jar”一样,点击“Next”输入Java最小Jre版本号,即低于这个版本的Jre无法运行该程序,接着点击“Advanced Options”-“Search sequence”,设置一下我们的JRE,之前说过,如果客户机上没装Jre咋办?,没关系我们捆绑一个进去点击绿色“+”来选择捆绑的JRE位置在弹出对话框中选择“Directiony”,之后选择JRE的文件夹,注意:这个JRE目录是我们将本机的JRE目录拷贝到当前exe生成目录下的,我的目录是F:\Simulate\jre5,下图程序使用的是相对目录,点击OK,完成JRE的捆绑操作JRE捆绑完毕,点击“Next”默认,点击“Next”默认,点击“Next”默认,点击“Next”exe生成中OK,完成,点击“Exit”即可看看成果如何吧!我们的可执行jar以及第三方jar总共还不到5M,可jre5目录就50多M,如果目标机器上有JRE环境就可以把它删掉了,lib目录是第三方jar文件,现已打包到exe中了,所以它也没有存在的理由了,那么最小配置就剩下了“Simulate.exe”和“config”目录了!。
idea打包java项目生成jar 原理-概述说明以及解释
idea打包java项目生成jar 原理-概述说明以及解释1.引言1.1 概述在Java开发中,项目的打包是必不可少的环节。
打包后的项目可以方便地部署和传输,使得程序在不同的环境中能够运行。
而JAR(Java Archive)文件则是一种常见的打包格式,它将Java项目的所有源代码、资源文件和依赖库等打包在一起,并且可以被Java虚拟机(JVM)识别和执行。
JAR打包对于Java项目的部署和运行起到了至关重要的作用。
在打包过程中,所有的源代码、配置文件、第三方库以及其他所需的资源文件都会被打包成一个可执行的JAR文件。
这个JAR文件可以被轻松地传输、备份和部署到其他环境中。
了解JAR打包的原理对于Java开发人员来说是非常重要的。
它可以帮助我们更好地理解项目的结构和组成,并且能够正确地配置和优化JAR 文件,以满足项目的需求和性能要求。
另外,掌握JAR打包的原理还有助于我们更好地理解Java的类加载机制,从而能够更好地调试和优化项目的运行效率。
本文将从概念和背景开始,介绍Java项目打包成JAR的原理。
我们将探讨JAR文件的组成和结构,以及JAR打包过程中的一些关键步骤和技巧。
最后,我们将总结JAR打包的重要性,并强调了解JAR打包原理的好处。
通过阅读本文,希望读者能够对Java项目的打包有更深入的了解,并能够在实际开发中灵活应用JAR打包技术。
1.2文章结构文章结构部分的内容主要是对本篇长文的章节和内容进行概括和介绍。
以下是文章结构部分的内容:1.2 文章结构本文主要围绕着"idea打包Java项目生成JAR"的原理展开讨论,旨在帮助读者了解Java项目打包成JAR文件的概念、背景和原理。
为了使读者更好地理解,本文按照以下章节进行组织和阐述。
第一部分是引言部分,包括概述、文章结构和目的。
在本部分,我们将对整篇文章进行简要回顾,并明确文章的目的和意义,以便读者能够更好地理解和把握文章内容的整体框架。
在Eclipse中将Java项目打包为jar
在Eclipse中将Java项目打包为jar方法一:如果自己的java project中需要引用额外的jar包作为资源文件,那么需要自己自定义配置文件MANIFEST.MF ,内容示例如下:Manifest-Version: 1.0Class-Path: lib\crimson.jar lib\jbcl.jar lib\junit.jarlib\log4j-1.2.13.jar lib\mysql-connector-java-3.1.13-bin.jarMain-Class: src.YourMainClassName其中的Class-Paht就指定了外来jar包的位置。
请注意假设我们的项目打包后为project.jar,那么按照上面的定义,应该在 project.jar的同层目录下建立一个lib文件夹,并将相关的jar包放在里面。
否则将会出现Exception in thread "main" ng.NoClassDefFoundError的错误。
最后介绍一下使用Eclipse制作jar包的过程吧:1. 首先在Eclipse中打开项目,右键点击项目,选择“Export”;2. 选择Java/JAR file,Next;3. Select the resources to export中可以选择你想要包含的项目文件夹,一些不必要的文件夹就无需放进去了,免得增大空间;这里有几个选项:∙Export generated class files and resources 表示只导出生成的.class 文件和其他资源文件∙Export all output folders for checked projects 表示导出选中项目的所有文件夹∙Export java source file and resouces 表示导出的jar包中将包含你的源代码*.java,如果你不想泄漏源代码,那么就不要选这项了∙Export refactorings for checked projects 把一些重构的信息文件也包含进去在Select the export destination中选择导出的jar的路径,Next4. 下一页可以选择是否导出那些含有警告warning或者错误errors的*.class 文件。
java打包成jar文件run指令
java 打包成jar文件run指令000前段时间由于研究原来广为传播的String和StringBuffer的性能问题,自己做了几个小实验并得出一些结论,但是从网友的反应来看那个研究并没有起到应有的目的,而且网友也很中肯的提出了自己的意见并对实验中的一些内容指出了其缺陷,针对他们的反应我又反编译了代码来进行对比,但是几位网友仍然不是很信服,而且上次实验的结果和反编译得到的结论并不能完全吻合,因为反编译代码的对比基本上是基于语句的多少,因此这个这个对比也确实不能使人信服,但是这给我的下一步行动指引了方向:研究JVM指令和JVM结构,在对反编译后的代码有完全的理解才能给出可能使人信服的结论。
本文以及以后将要写的一些文章就是我研究JVM规范的一些心得,我希望在和大家共同理解的基础上进行我们下一轮的深入研究。
好,闲话少说,开始我们的正文。
JVM执行的对象就是大家非常熟悉的class文件,我们也称为类文件,JVM规范定义的这个编译完成的代码文件(虽然并非强制要求是实际的文件)的格式非常的详实,但是我们这里只说一些宏观的内容,以后有机会再研究细节的内容吧。
JVM要求的类文件的格式是和硬件和操作系统无关的一种二进制格式,它精确定义了类或者接口的表示,它甚至包含了字节顺序这样的细节,而字节顺序在特定平台的目标文件格式中一般都是固定的,不会进行说明。
JVM所支持的数据类型和Java语言规范中定义的几乎一样,请注意是几乎一样!也就是原始类型和引用类型,他们可以被存储在变量表中,也可以作为参数传递、被方法返回,更通常的就是成为操作的对象。
为什么和Java语言规范中定义的不完全一样呢?因为JVM中有一种Java语言所没有的原始类型:返回地址类型(returnAddress type)。
该类型是jsr, ret以及jsr_w指令需要使用到的,它的值是JVM指令的操作码的指针,并且它的值是不能被运行中的程序所修改的。
另外需要提到的就是布尔类型的值,虽然在Java语言中它是完全独立的值,但是在JVM中只提供了对它的有限支持,表现在:没有单独的操作布尔类型的指令,源代码中的布尔类型的操作在编译以后是作为int类型的值进行操作的。
jar封装方法
jar封装方法
JAR(Java Archive)文件是一种用于分发Java应用程序、库或组件的归档文件格式。
使用JAR文件可以方便地将多个Java类文件打包在一起,以便于分发、部署和管理。
要将Java类文件封装到一个JAR文件中,可以使用Java Development Kit(JDK)中的jar命令或使用一些集成开发环境(IDE)提供的工具。
以下是使用jar命令将Java类文件封装到JAR文件中的步骤:
1. 打开命令行终端,并进入包含要打包的Java类文件的目录。
2. 运行以下命令以创建一个新的JAR文件:
```shell
jar cvf com/mypackage/.class
```
其中,``是要创建的JAR文件的名称,`com/mypackage/.class`是要打包的Java类文件的路径和通配符。
在这个例子中,我们将所有在
`com/mypackage/`目录下的`.class`文件打包到``文件中。
3. 等待命令执行完成,这将创建一个包含指定Java类文件的JAR文件。
注意,在打包过程中,可能会提示您输入密码或提供其他凭据,具体取决于您的操作系统和安全设置。
一旦您创建了JAR文件,您可以将它与其他应用程序一起使用,例如作为Web应用程序的库或组件。
要使用该JAR文件中的类,您需要在您的Java 项目中将其添加为依赖项,并在代码中导入相应的包和类。
java打包成可执行的jar或者exe的详细步骤
java打包成可执⾏的jar或者exe的详细步骤下⾯介绍过程:在Eclipse下,程序能够正常运⾏.⽅法1:直接拷贝其它能运⾏的JAR⽂件中的MANIFEST.MF进⾏修改⽅法2:利⽤IDE⼯具,如Eclipse在⽣成JAR⽂件时⾃动⽣成MANIFEST.MF内容如下:复制代码代码如下:Manifest-Version: 1.0Main-Class: manager.ui.MainFrameClass-Path: ./lib/spring.jar ./lib/hibernate.jar ./lib/derby.jarSplashScreen-Imager: manager/resources/images/splash.jpg说明:Manifest-Version -指定清单⽂件的版本号Main-Class -指定程序运⾏的⼊⼝类。
注意:类名后不要加class扩展名Class-Path -指定⽀持库的路径。
“.”指程序运⾏⽬录,即导出的JAR包所在⽬录。
程序运⾏时依据Class-Path项的设置路径来查找⽀持库。
每⼀个⽀持库之间⽤空格隔开。
在这⾥使⽤了hibernate,spring,derby.注意:1.如果Java应⽤程序⽤到了⼀些Eclipse包,那么就必须将这些包也复制到程序运⾏⽬录,设置到Class-Path,否则程序将⽆法运⾏.引⽤了⼀些外部组件也需要如此设置,如hibernate,spring,derby.2. 除了⼊⼝类的包名和类名之外,其他设置项都不分⼤⼩写,⽐如:Class-Path写成class-path或CLASS-PATH也可以,swt.jar写成SWT.JAR也⾏。
3.类名后不要加class扩展名4.每⼀⾏的':'后都有⼀个空格,如Class-Path:<空格>./lib/spring.jar5.Class-Path中.引⼊的JAR⽂件每⾏不得超过19个,否则会报错.但在让⼈意外的是每⾏只有前9个有效,故将所有同类型的JAR ⽂件做成⼀个JAR⽂件.如我这⾥的spring.jar,hibernate.jar,derby.jar都是同类JAR⽂件的组合.在spring的 'sessionFactory' bean的配置中则要这样写(与程序中ClassPathXmlApplicationContext对应)复制代码代码如下:manager/entity/MyFile.hbm.xmlmanager/entity/FileType.hbm.xml...1.右键单击项⽬名,在弹出菜单中选择“Export”。
如何将一个java程序或项目打包成jar与exe文件
一、先将一个java 程序或项目打包成jar 文件。
1.先在Myeclipses 下添加一个插件 fat jar (1)先把压缩文件解压,将net.sf.fjep.fatjar_0.0.31.jar 放置在你的Myeclipse 的安装目录下。
此为我的Myeclipse 安装目录路径。
如图所示(2)关闭你的Myeclipse ,重新启动。
(3)右键点击你的项目工程名,查看是否有一个 +buile fat jar 选项。
若有,表明完成上面两部,点击next点击finish,将在你指定位置,生成一个可执行jar文件。
查看是否正常。
可能出现的问题:1.所引入的数据库jar包,导入不正确,无法连接数据库。
2.项目中可能添加的图片,在Jar文件中不能正常显示。
解决第二个问题。
如图所示我的项目内容1.在src目录下新建一个Folder 目录文件,将你之前的图片放置进去。
2.修改代码部分:将之前的代码修改为如上所示写法。
整体修改完毕后,重新对项目进行打包操作。
并做测试检查二、将一个可运行的jar文件做成exe文件。
1.先安装exe4j软件。
2.运行软件。
注册窗体进行软件注册用户名,公司名称,随便填写。
注册完毕,回到主窗体。
Next直接点Next第二步我们选择“JAR in EXE mode” 就是选择我们已经有制作好的jar文件。
我的是“桌面\project\”. NEXT由于我的演示程序是图形的,所以选第一个,如果你的程序是控制台的,则选择第二个,Executable name写你将要生成的.exe文件的名字,Icon File可以选择生成文件的图标。
第5步,先别管上面的,先在下面单击绿色的“+”号。
在弹出的窗口中点Archive,然后找到起初已经做好的PetDemo_fat.jar文件,"OK"后返回。
在下面的Class Path里就出现jar文件路径后,再在上面Main Class栏内点击找到main所在的类。
如何打包JAVA程序
如何打包JAVA程序在Java开发中,打包是将一组Java文件和相关的资源文件打包成可执行的JAR或WAR文件的过程。
Java打包的目的是将程序、依赖的库和资源文件打包成一个独立的单元,方便部署和执行。
在下面的步骤中,我将介绍如何打包和部署Java程序。
1. 编写Java程序: 首先,你需要编写你的Java程序。
确保你的程序逻辑正确并且可以在本地环境中正常运行。
2. 编译Java程序: 使用Java编译器将你的Java源文件编译为字节码文件。
在命令行中执行以下命令来进行编译:```javac YourProgram.java```其中,`YourProgram.java`是你的Java源文件的名称。
3. 创建清单文件: 在打包Java程序之前,你需要创建一个清单文件(manifest)。
清单文件是一个纯文本文件,用于描述JAR文件的属性和配置信息。
在清单文件中,你需要指定程序的主类(Main-Class)和依赖的库。
创建一个名为`MANIFEST.MF`的文件,然后输入以下内容:```Manifest-Version: 1.0Main-Class: YourMainClassClass-Path: library1.jar library2.jar```其中,`YourMainClass`是你的程序的主类。
如果你的程序有依赖的第三方库,你需要在`Class-Path`属性中指定这些库的路径。
如果有多个库文件,用空格分隔。
4.创建JAR文件:使用JAR工具将编译后的字节码文件和资源文件打包成JAR文件。
在命令行中执行以下命令来打包成JAR文件:```jar cvmf MANIFEST.MF YourProgram.jar *.class resource_folder ```其中,`MANIFEST.MF`是清单文件的名称,`YourProgram.jar`是打包后的JAR文件名称,`*.class`表示所有编译后的字节码文件,`resource_folder`是你的资源文件夹的路径。
Java生成Class并打包成可执行Jar文件
Java生成Class并打包成可执行Jar文件共分两步:1. 生成Class文件,可以通过命令行来测试调用执行2. 将Class文件打包成Jar文件下面说明一下具体步骤:1.GeneXus中创建Procedure并配置属性2.编译之后进入web目录3.打开CMD命令行窗口,定位web目录4.通过java命令行执行生成的classCMD输入并执行代码java -cpgxclassR.jar;gxcommon.jar;log4j-core-2.11.2.jar;log4j-api-2.11.2.jar;commons-io-2.2. jar;joda-time-2.8.2.jar; com.testjava.atestjavacmd5.创建manifest.txt文件准备打包在web目录下创建文件manifest.txt,写入下列文本并保存Manifest-Version: 1.0Class-Path: gxclassR.jar gxcommon.jar log4j-core-2.11.2.jar log4j-api-2.11.2.jar commons-io-2.2.jar joda-time-2.8.2.jarMain-Class: com.testjava.atestjavacmd*最后有一行回车不能去掉6.通过jar命令打包jar文件CMD输入并执行代码"D:\Program Files\Java\jdk1.8.0_191\bin\jar.exe" cvfm testjavacmd.jar manifest.txt com\testjava\atestjavacmd.class com\testjava\GXcfg.class com\testjava\client.cfg"D:\Program Files\Java\jdk1.8.0_191\bin\jar.exe"是我本机jdk安装目录下的jar.exe 程序,按自己的环境修改7.在web目录下查看打包好的jar文件8.通过java命令测试执行jarCMD输入并执行代码java -jar testjavacmd.jar正确执行并输出信息:[2019/10/13 16:11:07.004]: [ATestJavaCmd] has been executed.9.示例XPZTestJavaCmd.zip(1.71 KB, 下载次数: 1)。
java程序打包成jar配置文件信息路径
java程序打包成jar配置⽂件信息路径⼀个普通的java project,⾥⾯引⽤了config.properties配置⽂件,将项⽬打成Runnable jar,然后将config.properties放到打包后的jar路径下,执⾏该jar包,出错,原⼯程中properties⽂件读取代码如下:InputStream in = SystemConfig.class.getResourceAsStream("/config.properties");FileInputStream in = new FileInputStream(rootPath+"/config.properties");上⽹搜了下class.getResource⽅式读取配置⽂件时,在eclipse中运⾏是没有问题的。
将该类打包成jar包执⾏,如果配置⽂件没有⼀起打包到该jar包中,⽂件查找的路径就会报错。
但是对于配置⽂件,我们⼀般不希望将其打包到jar包中,⽽是⼀般放到jar包外,随时进⾏配置。
修改⽅式如下:String rootPath = System.getProperty("user.dir").replace("\\", "/");FileInputStream in = new FileInputStream(rootPath+"/config.properties");⾸先程序获取程序的执⾏路径,也就是你打包后的jar存放路径,然后找到该路径下的config.properties⽂件读取,就可以了。
备注:对于其他的⼀些配置⽂件读取,也要相应修改,例如mybatis读取配置⽂件,默认⽅式是java.io.Reader reader = Resources.getResourceAsReader("Configuration.xml");factory = new SqlSessionFactoryBuilder().build(reader);如果打包到jar运⾏,Configuration.xml没有打包进去,也会报错,统⼀修改成String rootPath = System.getProperty("user.dir").replace("\\", "/");java.io.Reader reader = new FileReader(rootPath+"/Configuration.xml");factory = new SqlSessionFactoryBuilder().build(reader);。
java如何把源码导出为jar包,以及如何使用导出的jar包
java如何把源码导出为jar包,以及如何使⽤导出的jar包1.新建java project,编写源码如下:package baseTest;import java.awt.*;import java.awt.geom.*;import javax.swing.*;public class DrawLineFrame {public static void main (String [] args){JFrame window = new DrawFrame();window.setTitle("绘制图形");window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);window.setBounds(100,100,600,400);window.setVisible(true);}}//窗⼝类class DrawFrame extends JFrame{/****/private static final long serialVersionUID = 1L;public DrawFrame(){add(new DrawComponent());pack();}}//图形类class DrawComponent extends JComponent{/****/private static final long serialVersionUID = 1L;private static final int DEAFULT_WIDTH = 400;private static final int DEFAULT_HEIGHT = 400;public void paintComponent(Graphics g){Graphics2D g2 = (Graphics2D)g;//绘制矩形double leftx = 100;double topy = 100;double width = 200;double height = 150;Rectangle2D rect = new Rectangle2D.Double(leftx,topy ,width,height);g2.draw(rect);//绘制椭圆Ellipse2D ellipse = new Ellipse2D.Double();ellipse.setFrame(rect);g2.draw(ellipse);//绘制直线g2.draw(new Line2D.Double(leftx,topy,leftx + width ,topy + height));//画正圆double centerx = rect.getCenterX();double centery = rect.getCenterY();double radius = 150;Ellipse2D circle = new Ellipse2D.Double();circle.setFrameFromCenter(centerx, centery,centerx+radius,centery+radius);g2.draw(circle);}}2.运⾏,run as application,如果没有什么错误,导出jar包。
将idea工程打包成jar文件的全步骤
将idea⼯程打包成jar⽂件的全步骤
前⾔
近⽇在⼯作中遇到了⼀个问题,需要把本地的java⽂件打成jar包,传到云服务器上运⾏。
于是学习了⼀下如何在intellijidea中将java⼯程打成jar包。
步骤如下:
*File->PorjectStructure
*在ProjectSetings中选择Artifects。
点击+号选择jar⽂件中的Empty选项
*在Name选项中修改jar⽂件的名字。
*然后点击下⽅的CreatManifest按钮,点击ok(应该默认是当前⼯程)
* 点击Main Class右侧的⽂件夹图标,选择当前⼯程的⼊⼝类,即主函数所在类,点击ok
*在右侧的AvailableElements⼀栏中双击编译后的资源⽂件,将其打⼊左侧jar包
*点击Build选项中的BuildArtifacts
*点击Build选项。
*这⾥Build选项是第⼀次构建jar,Rebuild是修改后重新构建jar,clean是删除jar。
* 在这⾥我们可以看见⽣成的jar包
* 进⼊jar包所在⽬录,在地址栏中输⼊cmd按回车,进⼊命令⾏
* 执⾏如图命令即可运⾏jar⽂件
总结
以上就是这篇⽂章的全部内容了,希望本⽂的内容对⼤家的学习或者⼯作具有⼀定的参考学习价值,谢谢⼤家对的⽀持。
在idea中将java项目中的单个类打包成jar包操作
在idea中将java项⽬中的单个类打包成jar包操作JAR⽂件的全称是Java Archive File,即Java档案⽂件。
JAR⽂件是⼀种压缩⽂件,与常见的ZIP压缩⽂件兼容,被称为JAR包。
JAR⽂件与zip⽂件的主要区别是在JAR⽂件中默认包含了⼀个名为META-INF/MANIFEST.MF的清单⽂件,这个清单⽂件是在⽣成JAR⽂件时系统⾃动创建的。
打包jar包1.先创建⼀个要打包成jar包的类2.File -> Project Structrue -> Artifacts -> + -> JAR -> from modules with dependencies…3.再Main Class中选择要打包的类project -> 选择打包的类 -> 然后OKproject -> 点击OK后,会弹出错误提⽰框,关闭该提⽰框,并关闭类选择框点击OK4.Apply -> OK5.Build -> Build Artifacts6.点击Build后就会再之前选择的jar存放⽬录中⽣成jar包导⼊jar包使⽤1.File -> Project Structrue -> Modules ->Dependencies -> + -> jARs or directories…2.在jar包的存放⽬录中找到jar包,然后点击OK3.选择jar包 -> Apply -> OK4.然后就可以在External Libraries中看到导⼊的jar包5.将之前的MyJar类删除掉,然后新建⼀个测试类Test,测试⼀下jar包是否可以,这⾥可以正常使⽤补充知识:idea打包Jar(纯java项⽬可执⾏主类)1、⽤maven-shade-plugin打包我们这⾥利⽤maven中的maven-shade-plugin插件。
Android打包篇:AndroidStudio将代码打包成jar包教程
Android打包篇:AndroidStudio将代码打包成jar包教程⼀、新建⼀个as项⽬,再新建⼀个model模块然后再app中的build.gradle中添加model的依赖。
然后编译项⽬。
⼆、编译完成后,打开model下的build——intermediates——bundles⽬录,⽬录下有两个⽂件夹,debug,default,在default⽂件夹下有⼀个classess.jar,就是编译完成的jar包,这⾥需要主要的是:因为我们使⽤的 as 版本不⼀致,所以会导致classess.jar包的⽬录页会不⼀样,不过最终的⽬录还是在build——intermediates——bundles⽬录下,⼩伙伴们可以在这个⽬录下寻找classess.jar⽂件,确保可以找到这个⽂件之后,再进⾏第三步的操作。
三、在确保classess.jar⽂件存在的情况下,打开model模块的build.gradle⽂件,在⽂件中与android模块中添加如下代码,并编译://Copy类型task makeJar(type: Copy) {//删除存在的delete 'build/libs/mysdk.jar'//设置拷贝的⽂件from('build/intermediates/bundles/default/')//打进jar包后的⽂件⽬录into('build/libs/')//将classes.jar放⼊build/libs/⽬录下//include ,exclude参数来设置过滤//(我们只关⼼classes.jar这个⽂件)include('classes.jar')//重命名rename ('classes.jar', 'mysdk.jar')}makeJar.dependsOn(build)这⾥需要注意:上述代码中from括号中的是你的classess.jar的⽂件⽬录,这⾥贴的是我⾃⼰的⽬录,不同的as版本可能导致⽬录不同,所以⼩伙伴们在⽤的时候直接换成你们⾃⼰的classess.jar路径即可。
怎么把Java .class文件打成jar包?
怎么把Java.class文件打成jar包?方法1:在Eclipse中可以导出JAR文件(类似于EXE文件,不过需要JAVA虚拟机支持),执行File→Export→JAR(Runable)即可。
eclipse-->右键单击一个Java Project-->Export-->Java-JARfile/Runnable JAR file//也可以是Project下的一个Package方法2:jar命令:示例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/.jar用法:jar{ctxu}[vfm0Mi][jar-文件][manifest-文件][-C目录]文件名...选项:-c创建新的存档-t列出存档内容的列表-x展开存档中的命名的(或所有的〕文件-u更新已存在的存档-v生成详细输出到标准输出上-f指定存档文件名-m包含来自标明文件的标明信息-0只存储方式;未用ZIP压缩格式-M不产生所有项的清单(manifest〕文件-i为指定的jar文件产生索引信息-C改变到指定的目录,并且包含下列文件:如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm'和'f'标志指定的相同顺序。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
把java文件打包成.jar (jar命令详解)
2007-09-14 11:29
先打开命令提示符(win2000或在运行框里执行cmd命令,win98为DOS提示符),输入jar Chelp,然后回车(如果你盘上已经有了jdk1.1或以上版本),看到什么:
用法:jar {ctxu}[vfm0Mi] [jar-文件] [manifest-文件] [-C 目录] 文件名 ...
选项:
-c 创建新的存档
-t 列出存档内容的列表
-x 展开存档中的命名的(或所有的〕文件
-u 更新已存在的存档
-v 生成详细输出到标准输出上
-f 指定存档文件名
-m 包含来自标明文件的标明信息
-0 只存储方式;未用zip压缩格式
-M 不产生所有项的清单(manifest〕文件
-i 为指定的jar文件产生索引信息
-C 改变到指定的目录,并且包含下列文件:
如果一个文件名是一个目录,它将被递归处理。
清单(manifest〕文件名和存档文件名都需要被指定,按'm' 和 'f'标志指定的相同顺序。
示例1:将两个class文件存档到一个名为 'classes.jar' 的存档文件中:
示例2:用一个存在的清单(manifest )文件 'mymanifest' 将 foo/ 目录下的所有文件存档到一个名为 'classes.jar' 的存档文件中:
来个小例子试试看:
我们只有一个HelloWorld ,如下:
将这个java 文件存到C 盘跟目录下,ok ,接下来,
在先前打开的命令提示符下(跳转到C 盘提示符下),我们输入javac HelloWorld.java ,然后继续输入:
jar cvf hello.jar HelloWorld.class ,回车后去你的C 盘看看,多了什么,没错 hello.jar 。
基本的步骤我们现在都知道了,你可以自己去尝试一下随着jar 后面的参数的不同,结果有什么变化。
紧接着我们看看如何运行我们的jar 包。
在进入正题之前,你要先打开我们刚刚做好的jar 包看看,多了什么呢,META-INF
目录?再看看里面是什么,还有一个MANIFEST.MF 文件是不是?用文本编辑器(我这里是UltraEdit)打开它看看:
就是这样。
这里我们对它进行修改,加一句:Main-Class: HelloWorld (在
第三行)。
这个就是我们之前写的那个类,也就是我们的入口类。
也即,
接下来,我们在命令提示符里执行:
这样我们使用了我们自己的MANIFEST.MF文件对原来默认的进行了更新。
你不妨可以再进去看看是不是添上了Main-Class: HelloWorld这一句。
(是吗,我怎么没试出来,提示java.io.FileNotFoundException:MANIFEST.MF (系统找不到指定的文件)怎么回事?)
Ok,这个最后的一步了,来验证我们做的一切,在命令提示符中输入:
出现了什么, Hi, Hello World!
我们再来看看jar文件在tomcat中发布,注意:在tomcat中我们就不能再用jar这种格式,而改war格式,它是专门用于web应用的,其实整个过程下来基本上和jar是类似的:
先准备我们要打包的资源。
找到存放tomcat的webapps目录,进到其中,新建一个文件夹,这里命名为hello,再进去新建WEB-INF文件夹,再进去新建classes文件夹,此时我们也将我们唯一的servlet,HelloWorld.java放到这里,在与classes目录同级下建立一文件web.xml。
Ok,目前我们初步建立了一个简单的web应用。
这是HelloWorld.java:
在命令提示符下进到先前创制的hello目录下,执行 jar cvf hello.war * ,我们便得到hello.war。
将它拷贝至webapps目录下,ok,来看最后一步,打开tomcat的目录conf中的server.xml,加入:
大功告成!运行它,启动tomcat,后在浏览器中输入
http://localhost:8080/hello/HelloWorld,有了吗?
最后,如果你想用ant来完成以上的打包活动,下面就告诉你:
对于jar来说。
在build.xml中,
对于war,
好了,就这么多,希望对你有点帮助。
:)补充:
jar基本操作:
1. 创建jar文件
2. 察看jar文件
3. 提取jar文件
4. 修改Manifest文件
5. 更新jar文件。