`
woxiaoe
  • 浏览: 283593 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

项目打包与发行

阅读更多

7 项目打包与发行

当项目完成后接下来的就是打包发行了,应用程序(Application)项目和Eclipse插件项目(plugin)的打包是不同的,本章将分别介绍两者的打包方法,并给出实际的打包例子。

7.1 应用程序项目的打包与发行

7.1.1 简介

Java应用程序项目完成后是可以脱离Eclipse运行的,要运行程序先要打它打成一个JAR包,它打包的大部份方法和标准JavaAWT/SWING的打包方法一样,主要有以下几个要点

l MANIFEST.MF 打包清单。它是打包的关键性文件,主要是设置执行入口类和支持库的路径,在运行Java应用程序时是要根据此文件中给出的信息来查找入口类和支持库。

l 支持包 -如果Java应用程序用到了一些Eclipse包,那么就必须将这些包也复制到程序运行目录,否则程序将无法运行。如swt组件支持包swt.jarjface组件支持包jface.jar。这些包都要在MANIFEST.MF文件中设置好。

l 本地化文件 如果用到了SWT组件,则还需要将SWT的本地化文件swt-win32-3063.dll3063是版本号)复制到程序运行目录,否则程序将无法运行。

7.1.2 打包的具体操作步骤

本节将用前几章开发的SWT/JFace项目“myswt”的打包为例,来介绍打包应用程序项目的方法。

1、编辑清单MANIFEST.MF

1Eclipse提供了用于打包项目的“导出”向导,但本例运行此向导之前先需要创建一个MANIFEST.MF清单文件,其内容如下:

Manifest-Version: 1.0

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1

Class-Path: ./lib/swt.jar ./lib/jface.jar ./lib/runtime.jar

说明:

l Manifest-Version 指定清单文件的版本号

l Main-Class 指定程序运行的入口类。本例设为运行4.5.2节开发的向导式对话框。注意:类名后不要加class扩展名

l Class-Path 指定支持库的路径。“.”指程序运行目录,即导出的JAR包所在目录。程序运行时依据Class-Path项的设置路径来查找支持库。每一个支持库之间用空格隔开。在这里jface.jar需要用到runtime.jar包,所以runtime.jar包也要加入到Class-Path中。

l 除了入口类的包名和类名之外,其他设置项都不分大小写,比如:Class-Path写成class-pathCLASS-PATH也可以,swt.jar写成SWT.JAR也行。

2)将清单文件保存下来,建议放在myswt项目的根目录下。它的文件名可以任意取,本例取名为manifes.txtEclipse向导在打包时会自动的将manifes.txt的内容复制到JAR包的META-INF目录下的MANIFEST.MF文件中。

2、使用Eclipse“导出”向导来打包项目

1)右键单击myswt项目的项目名,在弹出菜单中选择“导出”。在弹出的如下图7.1所示的对话框中,选择“JAR文件”,单击“下一步”。

<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /><shapetype id="_x0000_t75" path=" m@4@5 l@4@11@9@11@9@5 xe" stroked="f" filled="f" o:spt="75" o:preferrelative="t" coordsize="21600,21600"><stroke joinstyle="miter"></stroke><formulas><f eqn="if lineDrawn pixelLineWidth 0 "></f><f eqn="sum @0 1 0 "></f><f eqn="sum 0 0 @1 "></f><f eqn="prod @2 1 2 "></f><f eqn="prod @3 21600 pixelWidth "></f><f eqn="prod @3 21600 pixelHeight "></f><f eqn="sum @0 0 1 "></f><f eqn="prod @6 1 2 "></f><f eqn="prod @7 21600 pixelWidth "></f><f eqn="sum @8 21600 0 "></f><f eqn="prod @7 21600 pixelHeight "></f><f eqn="sum @10 21600 0 "></f></formulas><path o:connecttype="rect" gradientshapeok="t" o:extrusionok="f"></path><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><lock aspectratio="t" v:ext="edit"></lock></shapetype><shape id="_x0000_i1025" style="WIDTH: 331.5pt; HEIGHT: 221.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image001.jpg" o:title=""></imagedata></shape>

7.1 导出对话框

2)如下图7.2所示,将右边不需要的文件都取消勾选。在“选择导出目标”项文本框中设置JAR包的输出路径和包名(可以任意取名)为“D:\myswt_application\myswt.jar”。接受其他的默认设置不变,单击“下一步”。

附注:左边虽然选择了src目录,但源文件并不会导出到包中,除非勾选了“导出Java源代码文件和资源”项。

<shape id="_x0000_i1026" style="WIDTH: 342pt; HEIGHT: 315pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image003.jpg" o:title=""></imagedata></shape>

7.2 选择导入文件

3)如下图7.3所示,接受默认设置不变,单击“下一步”。

<shape id="_x0000_i1027" style="WIDTH: 333pt; HEIGHT: 246pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image005.jpg" o:title=""></imagedata></shape>

7.3 导出类的选项

4)这一步较关键。如下图7.4所示,选择“从工作空间中使用现有清单”项,将创建的清单文件输入,也可以通过旁边的“浏览”按钮来选择清单文件。输入清单文件后,单击“完成”,Eclipse开始将项目打包。

<shape id="_x0000_i1028" style="WIDTH: 378pt; HEIGHT: 266.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image007.jpg" o:title=""></imagedata></shape>

7.4 清单文件设置

经过以上四步后,在“D:\myswt_application”路径下生成了一个名为“myswt.jar”的文件。myswt.jar是一个ZIP格式的压缩文件,可以用WinRARWinZip软件打开,也就是说用这两个软件也可以替代Eclipse向导来打包文件。如果用WinRAR来打包文件,则压缩格式要选择ZIP格式而非RAR格式,压缩率倒可以任意选。

WinRAR打开myswt.jar文件后其内部的目录结构如下图7.5所示:

<shape id="_x0000_i1029" style="WIDTH: 341.25pt; HEIGHT: 136.5pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image009.jpg" o:title=""></imagedata></shape>

7.5 myswt.jar文件的内部目录结构

myswt.jar文件的内部目录META-INF中仅一个文件:MANIFEST.MF,它和以前创建的清单文件manifest.txt的内容是一样的,如下:

Manifest-Version: 1.0

Class-Path: ./lib/swt.jar ./lib/jface.jar ./lib/runtime.jar

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1

3、复制Java应用程序的支持包及本地化文件

MANIFEST.MF文件中的Class-Path项设置了三个包,从Eclipseplugins目录中将此三个支持包复制到D:\myswt_application\lib目录,本地化文件swt-win32-3063.dll复制到D:\myswt_application目录中。此三个文件在Eclipse中的路径为:

plugins\org.eclipse.swt.win32_3.0.1\ws\win32\swt.jar

plugins\org.eclipse.jface_3.0.0\jface.jar

plugins\org.eclipse.core.runtime_3.0.1\runtime.jar

plugins\org.eclipse.swt.win32_3.0.1\os\win32\x86\swt-win32-3063.dll

复制完成后的目录结构如下图7.6所示:

<shape id="_x0000_i1030" style="WIDTH: 127.5pt; HEIGHT: 98.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image011.jpg" o:title=""></imagedata></shape>

7.6 目录结构图

4、编写运行myswt.jar包的批处理程序“run.bat

myswt_application目录下创建一个批处理程序run.bat(名字任取,扩展名必须是bat),其内容仅一句语句,如下:

javaw -jar myswt.jar

说明:

l javaw对应c:\jdk\jre\bin\javaw.exe文件,如果windows提示命令未发现,则需要将c:\jdk\jre\bin路径加入到windows环境变量path中。

l 在运行程序的时候有一个讨厌的黑色命令行窗口,要去掉它,可以将run.bat内容更改如下:“start javaw -jar myswt.jar”,start是指调用了windows的“运行”命令。

l 如果想将swt-win32-3063.dll也放在单独的目录中,如“D:\myswt_application\native”目录,则需将run.bat内容更改为:

start javaw -Djava.library.path=./native/ -jar myswt.jar

5、运行程序

双击run.bat文件,得到如下图7.7所示的程序界面。

<shape id="_x0000_i1031" style="WIDTH: 283.5pt; HEIGHT: 161.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image013.jpg" o:title=""></imagedata></shape>

7.7 程序运行效果图

6、注意事项

本例只需要三个支持包,但你的程序也许会需要更多的支持包才能运行。如果你想一次到位,则可以将“Java构建路径”的“库”选项卡中所有引用的包都复制到lib目录中。如果你喜欢用到什么包才加入什么包,希望维持打包文件的简洁,则需要自己一步步的去试:如果缺少某支持包,运行程序时会输出的未找到类的错误信息,从信息中的包名可得知程序缺少哪一个支持包。比如“Exception in thread "main" java.lang.NoClassDefFoundError: org/eclipse/jface/wizard/IWizard”,从错误信息中很明显的就能知道程序缺少jface

7.1.3 其他得到JAR包的方式

要得到JAR包除了以上所说的用Eclipse“导出”向导、用WinZipWinRAR,另外还能用Java自带的命令行式打包软件jar.exe(位于c:\jdk\bin目录),其打包命令为:

c:\jdk\bin\jar cvfm myswt.jar C:\eclipse3.0.1\eclipse\workspace\myswt\manifest.txt -C C:\eclipse3.0.1\eclipse\workspace\myswt\bin .

说明:

l c:\jdk\bin\jar 由于本书没有把c:\jdk\bin加入到windows环境变量path中,所以手工指定jar.exe的路径

l cvfm jar.exe的参数,“c”创建新的jar包;“v”将调试信息打印在屏幕上;“f”指定生成的jar文件名;“m”使用清单文件。注意它们都是小写

l myswt.jar 打包后的JAR包名

l 在前面是把清单文件manifest.txt放在C:\eclipse3.0.1\eclipse\workspace\myswt\目录下。如果将它和批处理文件放在一个目录就不必指定长长的路径了。

l -C 路径 . ”指将路径下(包括子目录)的所有文件打包,由于class文件是输出在项目的bin目录下,所以路径指定到项目的bin目录,注意三者之间是用空格隔开,并且最后一个字符是小数点。

这种方式的优点是没有Eclipse导出向导的操作那么麻烦,适合经常需要导出JAR包的情况。

7.1.4 使用第三方插件对项目打包

开源组织(http://sourceforge.net/)中有一款可将Eclipse支持包和项目编译文件一起打到一个包中的插件,叫“Fat Jar”,它的下载地址是“http://fjep.sourceforge.net/”,具体下载不再说明,安装步骤参阅第1SWT Designer的安装。

Fat Jar的使用步骤如下:

1)右键单击myswt项目的项目名,可见菜单中多了一项“Build Fat Jar”,如下图7.8所示,选择“Build Fat Jar”项。

<shape id="_x0000_i1032" style="WIDTH: 312pt; HEIGHT: 149.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image015.jpg" o:title=""></imagedata></shape>

7.8 右键菜单

2)在下图7.9所示的对话框中,“Jar-Name”项填入JAR包的输出路径。文件清单“Manifest”项不用填,默认会自动创建一个。“Main-Class”项填入程序的入口类。其他都接受默认值,单击“下一步”。

<shape id="_x0000_i1033" style="WIDTH: 263.25pt; HEIGHT: 261.75pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image017.jpg" o:title=""></imagedata></shape>

7.9 输出配置

3)如下图7.10所示,窗口中将myswt项目所用到的支持包都列了出来。我们仅勾选图中runtime.jarswt.jarjface.jar这三项即可,当然全选也并尝不可,只是最后得到的JAR包会更大一些,因为Fat Jar会将所有支持包合并在一个JAR包中。

<shape id="_x0000_i1034" style="WIDTH: 230.25pt; HEIGHT: 228.75pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image019.jpg" o:title=""></imagedata></shape>

7.10 选择要打包的文件

单击图7.10的“完成”按钮后, JARmyswt.jar将输出到D:\myswt_applicationh目录中。和以前一样,要运行此JAR包需要一个批处理文件以及本地化文件swt-win32-3063.dll,唯一不同的是不再需要Eclipse支持包,其目录结构如下图7.11所示:

<shape id="_x0000_i1035" style="WIDTH: 262.5pt; HEIGHT: 62.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image021.jpg" o:title=""></imagedata></shape>

7.11 目录结构

为什么不需要Eclipse支持包了呢?那是因为支持包已经在myswt.jar文件中了,从下图7.12可以看到swt.jar等都被拆散成目录,并包含在myswt.jar包中。

<shape id="_x0000_i1036" style="WIDTH: 105pt; HEIGHT: 2in" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image023.jpg" o:title=""></imagedata></shape>

7.12 myswt.jar的内部目录结构

其中META-INF目录的MANIFEST.MF文件内容如下,可以发现和以前不同的地方是:Class-Path项没有了。

Manifest-Version: 1.0

Created-By: Fat Jar Eclipse Plug-In

Main-Class: book.chapter_4.wizard_dialog.WizardDialog1

7.1.4 让用户电脑不必安装JRE环境

通常运行Java程序有个前提条件:用户电脑必须先安装JRE环境。虽然安装JRE环境非常简单,但毕竟多了一步,算是有一点点的瑕疵。这里给出一个不必让用户安装JRE环境的方法,其实现步骤如下:

1)将原JDK中的“jre”目录复制到“D:\myswt_application\java1.4.2”目录下(java1.4.2也可换成其他名称)。

2)将JDKJRE从本机卸载掉,这样表示本机没有安装JAVA运行环境。

3)修改批处理文件run.bat中的命令为“start java1.4.2\jre\bin\javaw -jar myswt.jar”,仅仅是在javaw前加上了一个相对应路径。

双击run.bat即可在不安装JRE环境的电脑运行此Java应用程序。

7.1.5 更进一步的完善

1、抛弃批处理文件(*.bat

用批处理文件运行程序似乎不够专业,虽然它足以完成运行任务。但习惯就象一种毒药一旦染上就很难摆脱它的影响,Windows统治下的人们早已经习惯运行扩展名是EXE的程序,用*.bat他们就会感觉别扭。

我们可以用一个叫JavaLauncher的免费小程序来代替批处理文件去运行Java程序。JavaLauncher的下载网址是:

http://www.rolemaker.dk/nonRoleMaker/javalauncher/marner_java_launcher.htm

下载下来的文件是一个名JavaLauncher.zip的压缩包,解压后的目录结构如下图7.13所示:

<shape id="_x0000_i1037" style="WIDTH: 63pt; HEIGHT: 66pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image025.jpg" o:title=""></imagedata></shape>

7.13 JavaLauncher.zip目录结构

在上图的目录中

l source目录包含了JavaLauncher的源程序,是用C语言写的

l changes.txt是新版的修改说明

l launch.exe是主程序

l launcher.cfg是配置文件

l readme.txt是一些说明和示例

我们只需要launch.exelauncher.cfg两个文件,将这两个文件复制到打包文件所在的目录。launcher.cfg是一个仅三行内容的文本文件,将它修改如下:

.

.\java1.4.2\jre\bin\javaw.exe

-jar myswt.jar

l 第一行设置指向JARmyswt.jar的目录,由于launch.exemyswt.jar同在一个目录,所以用“.”即当前目录。

l 第二行设置指向jre\bin\javaw.exe的路径。在上一小节(7.1.4节)已将jre目录复制到了java1.4.2子目录中

配置好launcher.cfg后,双击launch.exe即可运行java应用程序。

如果仔佃研究eclipse的启动方式,发现eclipseJavaLauncher的原理一样:eclipse.exe相当于launch.exestartup.jar相当于myswt.jar。只不过eclipse.exe不象launch.exe要具有通用性,所以它没有*.cfg这样的配置文件,而是将启动信息固化在eclipse.exe中。

2、美化图标

launch.exe文件的图标太单调了,让我们给它换个好看点的。换程序的图标需要用到一个免费的软件:Resource Hacker,它有中文版,下载网址是:

http://www.users.on.net/johnson/resourcehacker/

Resource Hacker来替换launch.exe的图标的步骤如下:

1)运行Resource Hacker,得到如下图7.14所示的窗口。

<shape id="_x0000_i1038" style="WIDTH: 292.5pt; HEIGHT: 127.5pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image027.jpg" o:title=""></imagedata></shape>

7.14 Resource Hacker的主界面

2)单击主菜单“文件→打开”,将launch.exe载入到程序中,结果如下图7.15所示。

<shape id="_x0000_i1039" style="WIDTH: 4in; HEIGHT: 146.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image029.jpg" o:title=""></imagedata></shape>

7.15 载入Lanunch.exe之后的界面

3)如上图,选择左边的“图标→11030”,然后右键单击“1030”项,选择“替换资源…”。如下图7.16所示,在弹出窗口中单击“打开新图标文件”,选择一个满意的图标,然后单击“替换”按钮。

附注:图标文件可以是exedllresico,该软件可以从exedllres抽取出图标,本例选择的是java的一个图标文件JavaCup.ico

<shape id="_x0000_i1040" style="WIDTH: 225pt; HEIGHT: 209.25pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image031.jpg" o:title=""></imagedata></shape>

7.16 选择图标文件

4)如下图7.17所示,选择“文件→另存为”,取名myswt.exe

附注:按理说选择“保存”也是可以的,这时Resource Hacker会将老的launch.exe备份成launch_original.exe。但也许是刷新上有问题,用“保存”方式有时launch.exe无法显示出新图标,但有时又可以。

<shape id="_x0000_i1041" style="WIDTH: 4in; HEIGHT: 153pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image033.jpg" o:title=""></imagedata></shape>

7.17 保存修改

5)最后的目录如下图7.18所示,可见myswt.exe(也就是launch.exe改了个名称)的图标换成了Java的图标。双击myswt.exe即可运行Java应用程序。

<shape id="_x0000_i1042" style="WIDTH: 90pt; HEIGHT: 67.5pt" coordsize="21600,21600" type="#_x0000_t75"><imagedata src="http://blog.csdn.net/images/blog_csdn_net/glchengang/86111/r_0119image035.jpg" o:title=""></imagedata></shape>

7.18 最后的效果

3、最后的打包

发送给用户之前,通常要用WinZipWinRAR将所有的文件全部打成一个压缩包,然后用户得到这个压缩包后,将其解压缩后即可运行程序,Eclipse软件就是这种方式。

另一种方式是用InstallShieldInstallAnyWhere这样的安装程序制作软件来创建一个单一的setup.exe文件,它具有向导式的安装界面,而且还可以往windows的程序栏插入菜单项,关于这些安装程序制作软件的具体使用请参阅相关书籍。

分享到:
评论

相关推荐

    Java应用程序项目的打包与发行工具

    本文将详细介绍Java应用程序的打包与发行过程,以及可能涉及的相关工具。 首先,我们要了解Java应用程序的两种主要类型:JAR(Java Archive)文件和WAR(Web Application Archive)文件。JAR文件用于封装类库和资源...

    Eclipse项目的打包发行方法

    完成 MANIFEST.MF 文件的配置之后,接下来就是将整个项目打包为 JAR 文件。在 Eclipse 中,可以通过右键点击项目,选择“导出”-&gt;“可执行的 JAR 文件”来完成这个过程。在这个过程中,用户可以选择包含源代码、排除...

    SWT应用程序项目的打包与发行.doc

    在SWT应用程序项目的打包与发行过程中,有几点关键的知识点需要注意。 首先,打包清单文件MANIFEST.MF是整个打包过程的核心。这个文件定义了程序的入口点(Main-Class),也就是程序启动时要调用的主类,以及程序...

    12.1 h5端发行打包...|uni-app 项目发行与打包|uni-app & uniCloud 从零入门开发《IT技术资讯类跨端应用》项目实战

    12.1_h5端发行打包...|uni-app_项目发行与打包|uni-app_&_uniCloud_从零入门开发《IT技术资讯

    集成jdk+mysql+tomcat+web项目打包成rpm

    Web项目打包:Web项目的打包通常涉及到WAR或EAR文件,这些文件可以直接放入Tomcat的webapps目录下。打包时,需要确保Web应用的所有依赖(如JAR文件)都被包含在内,或者指明外部依赖的路径。 制作RPM包的过程涉及...

    12.3 App 端发行打包|uni-app 项目发行与打包|uni-app & uniCloud 从零入门开发《IT技术资讯类跨端应用》项目实战

    12.3_App_端发行打包|uni-app_项目发行与打包|uni-app_&_uniCloud_从零入门开发《IT技术资讯类

    12.2 小程序端发行上传|uni-app 项目发行与打包|uni-app & uniCloud 从零入门开发《IT技术资讯类跨端应用》项目实战

    12.2_小程序端发行上传|uni-app_项目发行与打包|uni-app_&_uniCloud_从零入门开发《IT技术资讯类跨

    VS2005打包发行

    然而,对于初次接触Visual Studio 2005 (简称VS2005)的开发者来说,如何将项目打包成可执行文件并制作成安装包可能是个难题。本文将详细介绍如何使用VS2005中的安装和部署项目功能,将C#应用程序打包成可执行文件,...

    installanywhere2009打包项目简单步骤

    ### 使用InstallAnywhere 2009进行Web项目打包的详细步骤 #### 一、概述 在软件开发领域,特别是Web应用程序开发中,部署是一个至关重要的环节。为了方便用户安装和运行Web应用程序,开发者通常会使用专门的工具来...

    Hbuilder项目Android Studio本地打包详细步骤

    1. **发行设置**:在HBuilder中,选择“发行”菜单项,然后选择“本地打包”&gt;“生成本地打包App资源”。 2. **导出资源文件**:这一步将生成用于打包的资源文件,包括必要的配置文件和编译资源等。 #### 四、...

    uni-app项目本地离线android打包步骤

    2. 在HBuilder中,选择“发行” -&gt; “原生App” -&gt; “本地打包”,生成App资源。 3. 将生成的App资源复制到Android Studio的`assets/apps`目录下。 **三、配置与打包** 1. **DCloud开发者中心**:注册并创建应用,...

    C#2005应用程序WinForms打包与制作安装程序

    本主题聚焦于"C# 2005应用程序WinForms的打包与制作安装程序",这是一项对于软件开发者至关重要的技能,特别是针对那些希望自己的程序能够方便地被终端用户安装和使用的开发者。 C# 2005是.NET Framework的一个早期...

    SpringBoot之rpm打包文档.rar

    - RPM包是Linux发行版如CentOS、Fedora等的标准软件包格式,便于分发、管理和更新。 - 将SpringBoot应用打包成RPM,可以方便地在这些系统上进行安装、升级和卸载操作。 3. **RPM打包流程** - 创建.spec文件:这...

    13.系统打包发行.pptx

    - 库文件:将常用的Java类库打包成JAR文件供其他项目使用。 ### 知识点三:JAR文件的创建与使用 - **创建方法**: - **手动创建**:可以通过命令行工具`jar`命令手动创建JAR文件。 ```bash jar cvf myapp.jar ...

    基于Pyinstaller打包Python程序并压缩文件大小

    5. 在虚拟环境中使用 Pyinstaller 打包你的程序,使用与之前相同的参数: ```bash pyinstaller -F main.py ``` 通过这种方法,你可以得到一个体积明显减小的可执行文件,因为它只包含项目实际需要的库。 总结...

    gulp打包项目,css、js自动添加版本号,防止缓存,代理

    通过设置代理,我们可以让前端请求通过代理转发到后端API,使得在本地开发时也能正常与后端进行交互。 在`wb-gulp`这个压缩包中,很可能包含了配置文件(如`gulpfile.js`),源代码文件夹,以及可能的库和依赖。`...

    ubuntu 解包打包 img

    在Ubuntu操作系统中,"解包打包img"通常指的是处理与镜像文件相关的操作,包括解压ISO镜像、创建可启动USB驱动器、安装系统、以及打包和分享自定义系统映像。以下是一些相关的重要知识点: 1. **ISO镜像文件**:ISO...

    使用Inno Setup打包发行软件的说明

    3. **添加文件**:将要打包的软件文件添加到Inno Setup项目中,可以指定文件的来源路径和目标路径。 4. **定制安装界面**:可以自定义安装界面的图片、字体、颜色等,使其符合软件的品牌形象。 5. **编译安装程序*...

Global site tag (gtag.js) - Google Analytics