java链式写法jar(java链式结构)

本文目录一览:

JAVA代码写完如何做成Jar ????求详细点的答案

我一直用eclipse来编写java程序,最近对手机小程序特别感兴趣,所以安装了WTK和J2ME,通过MIDlet写代码,然后很顺利的右击之后就可以Greate Packge,然后生成jar文件,就可以啦~~只是个人意见~~

java怎么打包成jar?

^^java教程^^《制作可执行JAR》本文阐述了如何把一个不可执行的 JAVAArchive(JAR)文件变成可执行,而不用直接操作manifest文件。你会学到写出短小的一个程序,通过运行java-jar命令或在像windows一样的操作系统里面用双击鼠标运行任何JAR文件。

你可以很容易地把应用程序的一整套class文件和资源文件打包到一个JAR中。事实上这就是jar文件存在的一个目的。另外一个目的就是让用户能很容易地执行被打包到jar文件里面的应用程序。那么为什么jar文件仅仅作为文件在整个java里面占据了次要的地位,而本地执行则被忽视?

要执行一个jar文件,你可以使用java命令的-jar选项。举一个例子来说,假如你有个名叫myjar.jar的文件。这个jar是可以运行的,你可以运行它:java-jarmyjar.jar.另外一个办法就是,当JavaRuntimeEnvironment(JRE)已经被安装到一个像windows的操作系统上,将jar文件与JVM关联(关联 java.exe跟jar文件)在一起你就可以通过双击jar来运行这个应用程序。当然,jar文件必须是可执行的。

现在的问题是:如何做一个可以执行的jar?

manifest文件以及Main-class入口

在大多数jar中,都在一个叫META-INF的目录里面保存了一个叫MANIFEST.MF的文件。那个文件里面,

包含了一个特殊表项名字叫Main-Class,告诉java-jar命令应该执行哪个class.

问题是你必须为manifest文件手工加入适当表项,而且必须在一定的位置和用一定的格式。不幸的是,不是每个人都喜欢打开写字板编辑配置文件。

让API帮你完成任务

自从java1.2发布以来,一个叫java.uil.jar包的出现,让你能够方便处理jar文件。(注意:该包基于java.util.zip)特别地,jar包让你通过Mainfest类,可以容易操作那些manifest文件.

就让我们用这个API写一个程序吧。首先,这个程序必须知道三样东西:

1。我们要使之可运行的jar文件。

2。运行jar的主类(这个类必须包含在jar中)。

3。输出新jar文件的文件名,因为我们不能简单地覆盖原来的文件。

编写程序

上面列表的三点要求将组成我们的程序的参数。现在,让我们为这个程序选择一个适当的名字。

MakeJarRunnable听起来觉得怎样?

为main方法检查参数

假设我们的main方法入口点是一个标准的main(String[])方法。我们应该这样检查程序的参数:

if(args.length!=3){

System.out.println(“Usage:MakeJarRunnable” “jarfileMain-Classoutput”);

System.exit(0);

}

请注意参数列表是如何描述的,因为这在以下代码中是很重要的。参数的次序和内容不是固定的;

然而,如果你要改变他们的话,要记住响应修改其他代码。

访问jar和jar的manifest文件

第一,我们必须创建一些了解jar和manifest的对象:

//CreatetheJarInputStreamobject,andgetitsmanifest

JarInputStreamjarIn=newJarInputStream(newFileInputStream(args[0]));

Manifestmanifest=jarIn.getManifest();

if(manifest==null){

//Thiswillhappenifnomanifestexists

manifest=newManifest();

}

设置Main-Class属性

我们把Main-Class入口放到manifest文件的main属性部分。一旦从manifest对象获得这个属性,就可以设置需要的 mainclass。然而,如果main-Class属性已经存在原来的jar当中又如何呢?这里我们只是简单地输出一个警告然后退出。我们能加入一个命令行参数告诉程序使用新的值,而代替了旧的那个:

Attributesa=manifest.getMainAttributes();

StringoldMainClass=a.putValue(“Main-Class”,args[1]);

//Ifanoldvalueexists,telltheuserandexit

if(oldMainClass!=null){

System.out.println(“Warning:oldMain-Classvalueis:”

oldMainClass);

System.exit(1);

}

输出新的JAR

我们需要创建一个新的JAR文件,所以我们必须使用JarOutputStream类。注意:

我们必须确定我们不用跟输入文件相同的名字作为输出文件的名字。还有一个方案就是,程序应该考虑到一种情况,就是两个jar文件都是相同的,促使用户覆盖原来的文件,如果他愿意这么做的话。然而,我在保留了这一点,作为读者的一个练习。从如下代码开始:

System.out.println(“Writingto” args[2] “…”);

JarOutputStreamjarOut=newJarOutputStream(newFileOutputStream(args[2]),manifest);

我们必须从输入JAR写每个表项到输出的JAR,所以迭代每个表项:

//Createareadbuffertotransferdatafromtheinput

byte[]buf=newbyte[4096];

//Iteratetheentries

JarEntryentry;

while((entry=jarIn.getNextJarEntry())!=null){

//ExcludethemanifestfilefromtheoldJAR

if(“META-INF/MANIFEST.MF”.equals(entry.getName()))continue;

//WritetheentrytotheoutputJAR

jarOut.putNextEntry(entry);

intread;

while((read=jarIn.read(buf))!=-1){

jarOut.write(buf,0,read);

}

jarOut.closeEntry();

}

//Flushandcloseallthestreams

jarOut.flush();

jarOut.close();

jarIn.close();

完成程序

当然,我们必须把这些代码放到一个类的main方法里面,并且需要一大堆import代码。完整程序:

程序使用例子

让我们把这个程序应用到一个例子里面来。假设你有一个应用程序,该程序的入口点是一个叫HelloRunnableWorld的类,再假设你已经创建了一个jar叫myjar.jar,包含了整个程序。运行MakeJarRunnable:

javaMakeJarRunnablemyjar.jarHelloRunnableWorldmyjar_r.jar

正如前面提到的,注意一下我的参数顺序。如果你忘记了顺序,没有参数运行一下程序,它会响应出现一个用法提示信息。

尝试对myjar.jar运行java-jar命令。然后对myjar_r.jar。注意区别不同!好了,你完成了这一切了,浏览一下每个jar的manifest文件(META-INF/MANIFEST.MF)

java怎么转化成jar以及jar简介

Java文件转化成har的步骤如下:

1、右键文件,点击导出(Export);

2、选择Java文件夹下的JAR file,点击next;

3、在JAR file后面的文本框中选择导出的位置;

4、接下来全部点击next;

5、直到最后一个页面时点击finish;

6、完成。

接下来介绍下jar:

JAR 文件格式以流行的 ZIP 文件格式为基础。与 ZIP 文件不同的是,JAR 文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和 JVM 这样的工具直接使用。

java中可将自己写的代码导成jar文件,下次需要使用时直接导入这个jar包,即可使用这个jar包里的程序。

用JAVA代码怎么生成JAR,请详细点我是新手。最好是有图片解释的。谢谢谢谢啦

jar其实是个压缩文件,和。rar文件是一样的东西,里面都是一些。class文件,这些文件都是经过JAVAC编译后生成的文件,我门运行程序其实就是运行。class文件。jar包就是将这些编译好的文件打包,在你调用jar包里面的class时,不用去费时的寻找或者自己定义,最常用的是\jdk5.0\jre\lib\rt.jar这个包,里面包含拉基本的。class方法文件。可以在命令提示符里面运用 jar -cvf xx.jar *.*命令来生成jar包,xx是你自定义的名称,*.*表示该路径中所有的.class文件,cvf是jar命令的参数。

Java项目怎么打成jar包

第一种:在jbuilder中:

首先你要保证Run菜单–Run Project能顺利运行

然后Wizards菜单–Native Executable Builder

选中Compress the contents of the archive(产生jar文件的话)

Next–Next–选中Always include all classes and resources再Next–Next–Next

选中Windows GUI”exe”(产生EXE文件的话)–Finish

再在项目的文件列表中的Native Executable右击–Make就可以了

第二种:在cmd 下生成jar文件

abc.txt内容如下:

Manifest-Version: 1.0

Main-Class: main-class-name(回车)

在cmd下:

javac *.java

jar cvfm abc.jar abc.txt *.class

示例——生成能通过鼠标双击就执行的.jar文件

一、编写 Java源程序Test.java如下:

// Test.java

import javax.swing.*;

/**

* @(#) Test.java

* Copyleft (c) 2002 RatKing

* @author a href=”ratking@ynet.com”RatKing/a

* @version 0.1, 2002-11-7

* 描述:一个测试用的Java Application

*/

public class Test extends JFrame {

public Test(String title) {

super(title);

this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

this.getContentPane().add(new JLabel(“测试!”, JLabel.CENTER), SwingConstants.CENTER);

this.pack();

}

public static void main(String[] args) {

try {

//UIManager.setLookAndFeel(UIManager.getCrossPlatformLookAndFeelClassName());

UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());

} catch(Exception e) {

e.printStackTrace();

}

Test t = new Test(“Test – 测试”);

t.setVisible(true);

}

}

二、编译Test.java为Test.class(当然假设你事先已经设置好了JDK的环境变量PATH和CLASSPATH)

在命令行执行编译命令:

javac Test.java

三、用文本编辑器(比如记事本/UltraEdit等 – 甚至用ECHO命令加管道“”)编写如下manifest文件,并保存为abc.txt

Manifest-Version: 1.0

Main-Class: Test

【注意】文件abc.txt内必须是3行文本:

第一行的内容依次是:“Manifest”、英文减号、“Version”、英文冒号、英文空格、数字“1”、英文句号、数字“0”

第二行的英文冒号与Test之间必须要有一个英文空格!!!如果有包名一定要带上!!!包名.类名

第三行是一个空行,也就是说,你要在Test之后键入一个回车,然后才可以存盘退出!!!

如果冒号后面没有空格,可以生成jar文件但不能执行;如果Test后没有回车符,则生成jar文件时会报错。

该文件可以放在任何目录下

四、将Test.class打包成.jar文件,并使用abc.txt指明哪一个是带有public static void main()的“主函数”

在命令行执行编译命令:

jar cvfm Test.jar abc.txt *.class

如果有包名可以这样写,如包名为test,一定要在该包的上一层目录执行下面这句

jar cvfm Test.jar abc.txt test

你可以使用WinZip之类的解压软件看一看刚刚生成的Test.jar文件里到底有什么。

五、用鼠标双击Test.jar的图标,应该可以看到Test执行后的窗口。

〖说明〗如果你正确地安装了 Java运行环境(JRE),那么.jar的图标应该是象一页纸并有一个A的形状,就如同写字板的图标。

如果你的.jar文件默认的打开关联不对,可以重新设置:

我 的电脑-查看(Win9x)或工具(Win2k)-文件夹选项-文件类型-选择JAR文件-编辑该类型文件的属 性-操作栏填入[ open ](不填引号和中括号[]),并在“执行操作的应用程序”栏填入[ “C:\Program Files\Java\j2re1.4.1\bin\javaw.exe” -jar “%1” %* ](填两对英文引号,不填[])

并按“确定”、“关闭”退出对.jar文件关联的编辑。

(你的javaw.exe文件是不是位于C:\Program Files\Java\j2re1.4.1\bin\路径下,视你自己电脑的情况而定)

第三种:JB中生成.exe文件

1、菜单中选择【Wizards】-【Native Executable Builder….】弹出对话框

2、在弹出的对话框中第一步(Step 1 of 7)的【Name】输入一个名称,并取消【Always create archive when building the project】点击【Next】

3、根据需要悬着需要的类,再选择【Include class dependencies】,点击【Next】

4、根据需要悬着需要的库文件,再选择下面的4个单选,反复所有的需要的库,点击【Next】

5、默认点击【Next】

6、在(Step 5 of 7)的时候选择一个主类运行点击【Next】

7、在(Step 6 of 7)的时候选择运行平台【Next】

8、默认点击【Finish】,这时候在工程的目录窗口出现了一个在(Step 1 of 7)输入的【Name】目录

9、右击这个目录,选择【Rebuild….】,Jbuilder就开始编译和创建执行文件或是Jar文件了

10、等完成之后,该目录下右几个文件,一般是有至少一个jar文件,或是一个exe文件

11、在Window打开工程所在的目录,就可以看到里面的有几个刚才编译的文件

12、执行jar就是用java -jar ***.jar、执行exe直接双击

—————————————————————

1、不建议使用jb,因为打包后可执行文件的图标改不了且jb的可执行文件实际上是可执行的jar文件,可以将其exe扩展名改为jar一样可执行。

2、还是使用jsmooth较好,首先编写menifest文件目的指明main类,使用jar命令打包成可执行jar文件,让后使用开源的jsmooth做成exe。

原创文章,作者:小蓝,如若转载,请注明出处:https://www.506064.com/n/270370.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
小蓝小蓝
上一篇 2024-12-16 13:37
下一篇 2024-12-16 13:37

相关推荐

  • Java JsonPath 效率优化指南

    本篇文章将深入探讨Java JsonPath的效率问题,并提供一些优化方案。 一、JsonPath 简介 JsonPath是一个可用于从JSON数据中获取信息的库。它提供了一种DS…

    编程 2025-04-29
  • java client.getacsresponse 编译报错解决方法

    java client.getacsresponse 编译报错是Java编程过程中常见的错误,常见的原因是代码的语法错误、类库依赖问题和编译环境的配置问题。下面将从多个方面进行分析…

    编程 2025-04-29
  • Java腾讯云音视频对接

    本文旨在从多个方面详细阐述Java腾讯云音视频对接,提供完整的代码示例。 一、腾讯云音视频介绍 腾讯云音视频服务(Cloud Tencent Real-Time Communica…

    编程 2025-04-29
  • Java Bean加载过程

    Java Bean加载过程涉及到类加载器、反射机制和Java虚拟机的执行过程。在本文中,将从这三个方面详细阐述Java Bean加载的过程。 一、类加载器 类加载器是Java虚拟机…

    编程 2025-04-29
  • Java Milvus SearchParam withoutFields用法介绍

    本文将详细介绍Java Milvus SearchParam withoutFields的相关知识和用法。 一、什么是Java Milvus SearchParam without…

    编程 2025-04-29
  • Java 8中某一周的周一

    Java 8是Java语言中的一个版本,于2014年3月18日发布。本文将从多个方面对Java 8中某一周的周一进行详细的阐述。 一、数组处理 Java 8新特性之一是Stream…

    编程 2025-04-29
  • Java判断字符串是否存在多个

    本文将从以下几个方面详细阐述如何使用Java判断一个字符串中是否存在多个指定字符: 一、字符串遍历 字符串是Java编程中非常重要的一种数据类型。要判断字符串中是否存在多个指定字符…

    编程 2025-04-29
  • VSCode为什么无法运行Java

    解答:VSCode无法运行Java是因为默认情况下,VSCode并没有集成Java运行环境,需要手动添加Java运行环境或安装相关插件才能实现Java代码的编写、调试和运行。 一、…

    编程 2025-04-29
  • Java任务下发回滚系统的设计与实现

    本文将介绍一个Java任务下发回滚系统的设计与实现。该系统可以用于执行复杂的任务,包括可回滚的任务,及时恢复任务失败前的状态。系统使用Java语言进行开发,可以支持多种类型的任务。…

    编程 2025-04-29
  • Java 8 Group By 会影响排序吗?

    是的,Java 8中的Group By会对排序产生影响。本文将从多个方面探讨Group By对排序的影响。 一、Group By的概述 Group By是SQL中的一种常见操作,它…

    编程 2025-04-29

发表回复

登录后才能评论