如何把java程序打包成linux下可运行的客户端

如何把java程序打包成linux下可运行的客户端,第1张

在JBuilder中生成EXE、可执行jar、带shell窗口的EXE

下面的图示是从JBuilder9截取,基本上对于版本7、8、9、X、200X来说类似。

点击Winzards菜单,选择Native Executable Builder菜单项目;

接下来进入Native Executable Builder Wizards,总共分7步:

第一步:如下图,在Name字段处给你的可执行程序命名,缺省名称为Native Executable,File是填写所需要生成的jar的名字和选择存放的位置,Compress the content of archive表示是否把jar文档里面的内容进行压缩,下面的checkbox代表是否在build项目的时候生成jar文档;

第二步:选择需要打包进jar的包、类、以及资源文件,也包括任何其他需要的文件,include class dependencies代表是否在jar包中包括所依赖的类(例如你用了一个第三方库的时候,以及其他引入的非java核心库的类),点击“Add Filters”可以指定包括的包、类,点击“Add Files”添加需要包括的资源文件等。

点击“Add Filter”后出现Add Filters的窗口,如下图:

这里主要是定制过滤器,以确定包含哪些类,存在两种形式的Filter:include(包含)和exclude(排除)。可以直接对package包,也可以直接对class类,一般情况下,你在这里选择包含main方法那个主类就行了,前提是在上一个图中选中“包含依赖类”的checkbox。

Add Files就比较简单了,直接增加文件就行了,例如你程序需要的、配置文件等。

第三步:确定如何处理依赖库。下面图中的列表中列出来你在本项目中引入的库。

上面列出针对每个库的四种处理方式,按顺序依次是:

1、从不包含任何类和资源;

2、包含必要的类和已知的资源;

3、包含必要的类和所有资源;

4、总是包含所有类和资源;

对于每个库的默认选项都是第一个,有时候你制作的Exe会出现找不到类的错误,就可能是这里没设置好。

第四步:设置jar文档的manifest(打包清单)项目。默认是包含,并自动创建一个,一般情况下按默认设置就行了。

第五步:选择确定应用程序主类的方法。

有两种方式可以指定:1、从指定的runtime configuration中选择一个运行配置来确定,runtime configuration就是下图中下拉表中的选项:

2、直接指定一个主类(就是包含main方法的那个类)。

第六步:选择需要生成的可执行程序类型。有五种类型可供选择:

1、Window FUI类型;

2、带控制台console(就是dos窗口)的window exe类型;

3、linux下的可执行文件;

4、solaris下的可执行程序;

5、Mac OS下的可执行程序;

在这一步就可以点击Finish生成了,第七步是可选的。

第七步:运行时配置选项的设置,一般情况下这一步是不需要的,高级用户也许需要,这一步干什么用的你可以看上面的说明^-^

Finish结束了。

然后的JB左侧项目文件浏览器中就会出现如下一个图标,名字是你在第一步中指定的名字:

在此项目上鼠标右击,选择make或者rebuild就OK了。

然后在你的项目目录中就出现了一个EXE文件。

这个过程的一个副产品就是同时生成了一个可执行的jar文件^-^

说明:这里生成的EXE和普通的window exe程序是有区别的,你鼠标右击该exe文件,看看属性,原来就是个压缩文件,不过这个压缩文件和普通的压缩文件有点区别,你自己慢慢看吧,还可以解压缩后看^-^,显然这不是真正的EXE文件,也就是说还需要JRE环境支持。

如果要生成真正的EXE可以使用其它工具,例如:jet-103-eval-win32exe,该软件能够把java class编译成无需 JVM 支持的 32 位 Windows 可执行文件。jet-103-eval-win32exe这个文件的下载本站原来有,但是现在找不到这个程序了。

你还可以参考本站>

project wizard - dependencies

打包向导,到这一步时选择系统必备组件,例如 NET 4

using System;

using SystemRuntimeInteropServices;

namespace Splash

{

public class Environment

{

[DllImport("kernel32dll")]

private static extern UInt16 GetUserDefaultUILanguage();

[DllImport("kernel32dll")]

private static extern UInt16 GetSystemDefaultLangID();

[DllImport("kernel32dll")]

private static extern UInt16 GetUserDefaultLangID();

/// <summary>

/// 用户缺省界面语言

/// </summary>

public static UInt16 UserDefaultUILanguage

{

get

{

return GetUserDefaultUILanguage();

}

}

/// <summary>

/// 用户缺省语言

/// </summary>

public static UInt16 UserDefaultLangID

{

get

{

return GetUserDefaultLangID();

}

}

/// <summary>

/// 系统缺省语言

/// </summary>

public static UInt16 SystemDefaultLangID

{

get

{

return GetSystemDefaultLangID();

}

}

}

}

0x0000 Language Neutral

0x007f The language for the invariant locale (LOCALE_INVARIANT) See MAKELCID

0x0400 Process or User Default Language

0x0800 System Default Language

0x0436 Afrikaans

0x041c Albanian

0x0401 Arabic (Saudi Arabia)

0x0801 Arabic (Iraq)

0x0c01 Arabic (Egypt)

0x1001 Arabic (Libya)

0x1401 Arabic (Algeria)

0x1801 Arabic (Morocco)

0x1c01 Arabic (Tunisia)

0x2001 Arabic (Oman)

0x2401 Arabic (Yemen)

0x2801 Arabic (Syria)

0x2c01 Arabic (Jordan)

0x3001 Arabic (Lebanon)

0x3401 Arabic (Kuwait)

0x3801 Arabic (UAE)

0x3c01 Arabic (Bahrain)

0x4001 Arabic (Qatar)

0x042b Windows 2000/XP: Armenian This is Unicode only

0x042c Azeri (Latin)

0x082c Azeri (Cyrillic)

0x042d Basque

0x0423 Belarusian

0x0402 Bulgarian

0x0455 Burmese

0x0403 Catalan

0x0404 Chinese (Taiwan)

0x0804 Chinese (PRC)

0x0c04 Chinese (Hong Kong SAR, PRC)

0x1004 Chinese (Singapore)

0x1404 Windows 98/Me, Windows 2000/XP: Chinese (Macao SAR)

0x041a Croatian

0x0405 Czech

0x0406 Danish

0x0465 Windows XP: Divehi This is Unicode only

0x0413 Dutch (Netherlands)

0x0813 Dutch (Belgium)

0x0409 English (United States)

0x0809 English (United Kingdom)

0x0c09 English (Australian)

0x1009 English (Canadian)

0x1409 English (New Zealand)

0x1809 English (Ireland)

0x1c09 English (South Africa)

0x2009 English (Jamaica)

0x2409 English (Caribbean)

0x2809 English (Belize)

0x2c09 English (Trinidad)

0x3009 Windows 98/Me, Windows 2000/XP: English (Zimbabwe)

0x3409 Windows 98/Me, Windows 2000/XP: English (Philippines)

0x0425 Estonian

0x0438 Faeroese

0x0429 Farsi

0x040b Finnish

0x040c French (Standard)

0x080c French (Belgian)

0x0c0c French (Canadian)

0x100c French (Switzerland)

0x140c French (Luxembourg)

0x180c Windows 98/Me, Windows 2000/XP: French (Monaco)

0x0456 Windows XP: Galician

0x0437 Windows 2000/XP: Georgian This is Unicode only

0x0407 German (Standard)

0x0807 German (Switzerland)

0x0c07 German (Austria)

0x1007 German (Luxembourg)

0x1407 German (Liechtenstein)

0x0408 Greek

0x0447 Windows XP: Gujarati This is Unicode only

0x040d Hebrew

0x0439 Windows 2000/XP: Hindi This is Unicode only

0x040e Hungarian

0x040f Icelandic

0x0421 Indonesian

0x0410 Italian (Standard)

0x0810 Italian (Switzerland)

0x0411 Japanese

0x044b Windows XP: Kannada This is Unicode only

0x0457 Windows 2000/XP: Konkani This is Unicode only

0x0412 Korean

0x0812 Windows 95, Windows NT 40 only: Korean (Johab)

0x0440 Windows XP: Kyrgyz

0x0426 Latvian

0x0427 Lithuanian

0x0827 Windows 98 only: Lithuanian (Classic)

0x042f FYRO Macedonian

0x043e Malay (Malaysian)

0x083e Malay (Brunei Darussalam)

0x044e Windows 2000/XP: Marathi This is Unicode only

0x0450 Windows XP: Mongolian

0x0414 Norwegian (Bokmal)

0x0814 Norwegian (Nynorsk)

0x0415 Polish

0x0416 Portuguese (Brazil)

0x0816 Portuguese (Portugal)

0x0446 Windows XP: Punjabi This is Unicode only

0x0418 Romanian

0x0419 Russian

0x044f Windows 2000/XP: Sanskrit This is Unicode only

0x0c1a Serbian (Cyrillic)

0x081a Serbian (Latin)

0x041b Slovak

0x0424 Slovenian

0x040a Spanish (Spain, Traditional Sort)

0x080a Spanish (Mexican)

0x0c0a Spanish (Spain, Modern Sort)

0x100a Spanish (Guatemala)

0x140a Spanish (Costa Rica)

0x180a Spanish (Panama)

0x1c0a Spanish (Dominican Republic)

0x200a Spanish (Venezuela)

0x240a Spanish (Colombia)

0x280a Spanish (Peru)

0x2c0a Spanish (Argentina)

0x300a Spanish (Ecuador)

0x340a Spanish (Chile)

0x380a Spanish (Uruguay)

0x3c0a Spanish (Paraguay)

0x400a Spanish (Bolivia)

0x440a Spanish (El Salvador)

0x480a Spanish (Honduras)

0x4c0a Spanish (Nicaragua)

0x500a Spanish (Puerto Rico)

0x0430 Sutu

0x0441 Swahili (Kenya)

0x041d Swedish

0x081d Swedish (Finland)

0x045a Windows XP: Syriac This is Unicode only

0x0449 Windows 2000/XP: Tamil This is Unicode only

0x0444 Tatar (Tatarstan)

0x044a Windows XP: Telugu This is Unicode only

0x041e Thai

0x041f Turkish

0x0422 Ukrainian

0x0420 Windows 98/Me, Windows 2000/XP: Urdu (Pakistan)

0x0820 Urdu (India)

0x0443 Uzbek (Latin)

0x0843 Uzbek (Cyrillic)

0x042a Windows 98/Me, Windows NT 40 and later: Vietnamese

核酸采集程序。核酸检测打包平台是核酸采集程序,,可在微信的健康通行码小程序中查找。核酸采集程序登录方式如下:

1、首先打开手机微信进入核酸采集程序。

2、其次输入姓名和身份z号码。

3、最后点击登录即可。

多媒体应用程序集成打包方法有多种。程序打包的方法有:复制文件打包方法,压缩文件(cab)打包方法。程序部署的方法有:使用XCOPY或FTP进行部署,以代码下载的方式进行部署,即时安装与删除(无接触)的方式进行部署,使用安装程序进行部署。

JAR

JAR(JavaArchive,Java归档文件)是与平台无关的文件格式,它允许将许多文件组合成一个压缩文件。为J2EE应用程序创建的JAR文件是EAR文件(企业JAR文件)。

JAR文件格式以流行的ZIP文件格式为基础。与ZIP文件不同的是,JAR文件不仅用于压缩和发布,而且还用于部署和封装库、组件和插件程序,并可被像编译器和JVM这样的工具直接使用。在JAR中包含特殊的文件,如manifests和部署描述符,用来指示工具如何处理特定的JAR。

一个JAR文件可以用于:

□用于发布和使用类库

□作为应用程序和扩展的构建单元

□作为组件、applet或者插件程序的部署单位

□用于打包与组件相关联的辅助资源

JAR文件格式提供了许多优势和功能,其中很多是传统的压缩格式如ZIP或者TAR所没有提供的。它们包括:

安全性。可以对JAR文件内容加上数字化签名。这样,能够识别签名的工具就可以有选择地为您授予软件安全特权,这是其他文件做不到的,它还可以检测代码是否被篡改过。

减少下载时间。如果一个applet捆绑到一个JAR文件中,那么浏览器就可以在一个>

压缩。JAR格式允许您压缩文件以提高存储效率。

传输平台扩展。Java扩展框架(JavaExtensionsFramework)提供了向Java核心平台添加功能的方法,这些扩展是用JAR文件打包的(Java3D和JavaMail就是由Sun开发的扩展例子)。

包密封。存储在JAR文件中的包可以选择进行密封,以增强版本一致性和安全性。密封一个包意味着包中的所有类都必须在同一JAR文件中找到。

包版本控制。一个JAR文件可以包含有关它所包含的文件的数据,如厂商和版本信息。

可移植性。处理JAR文件的机制是Java平台核心API的标准部分。

JAD

Java应用程序描述符(JAD)

JAD文件包含MIDlet套件的标题信息,例如开发应用程序的公司、应用程序名称和大小。在将应用程序下载到设备上时,将先下载和读取描述符,然后再下载和读取包含MIDP应用程序的JAR文件。在装入MIDlet套件的完整JAR文件之前,移动设备上的应用程序管理软件可使用JAD文件验证MIDlet是否适用于该设备。JAD还向MIDlet提供特定于配置的属性(参数),而无需修改JAR文件。这样设备便可以确认是否具有足够的空间用于存放应用程序,以及是否应下载完整的应用程序。

Java文件的扩展名为jad。

JAD文件为纯文本格式,可用记事本打开。一个JAD文件至少需要包含包含如下属性:

MIDlet-Name。向用户标识MIDlet的MIDlet套件名称。

MIDlet-Version。MIDlet套件的版本号。应用程序管理软件使用该版本号执行安装 *** 作和升级,以及与用户进行通信。

MIDlet-Vendor。提供MIDlet套件的组织。

根据项目配置所支持的MIDP版本,还可以使用其他属性:

MIDlet-JAR-URL。此MIDlet套件的JAR文件的位置和名称。

MIDlet-JAR-Size。通过此MIDlet套件生成的JAR文件的大小。每次生成JAR文件后,都会更新此只读属性。

-Profile。所需的JavaME配置文件,它使用与系统属性profiles相同的格式和值(例如MIDP-10)。

-。所需的JavaME配置,它使用与系统属性相同的格式和值(例如CLDC-10)。

MIDlet-Description。MIDlet套件的描述。

MIDlet-Icon。JAR文件内的PNG文件名,用于表示MIDlet套件。应用程序管理软件显示了标识此套件的图标。

MIDlet-Info-URL。一个URL,提供进一步描述MIDlet套件的信息。

MIDlet-Data-Size。MIDlet所需的持久性数据的最少字节数。设备可以根据其自身的策略提供额外的存储。

替换和盗窃,查看DEX文件是否做了保护,防止APP应用被第三方修改打包。通过免费检测平台,源码混淆保护检测,可以有效防止二次打包的出现,爱加密>

以上就是关于如何把java程序打包成linux下可运行的客户端全部的内容,包括:如何把java程序打包成linux下可运行的客户端、关于Setup Factory 9打包基于.net 4.6.1的winform程序的问题、C#编写的程序,打包后的安装程序如何自动识别系统语言,从而决定安装程序的语言等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/9752025.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-01
下一篇 2023-05-01

发表评论

登录后才能评论

评论列表(0条)

保存