精华内容
下载资源
问答
  • 无需安装好不容易琢磨,查资料,实践,分别搞定了jar包及其依赖环境打包成exe和python及其依赖环境打包成exe,以为完美收工,没想到进一步的需求扑面而来,把4个exe和依赖包打包成一个exe安装程序,安装后一键启动4...

    博客帮助我解决了很多问题,于是想把自己遇到的问题记录下来希望对他人有所帮助。有些帖子写得很是简单,一旦忽略了某个关键细节,就可能看不懂了,就要花费更多的时间才能解决问题或者另寻良方,所以我自己尽可能写的细致。也确实是因为解决问题的过程投入了大量的时间和心血,如果解决了问题就完事儿,不做总结梳理的话,总觉得对不起那些加过的班和熬过的夜。

    需求:我们的软件由2个java服务和1个python服务组成,要求给到用户,无需重新安装部署java、python运行环境及依赖包,直接点击桌面快捷方式即可启动所有服务,正常使用软件。
    解题剧情:(1)好不容易琢磨,查资料,实践,分别搞定了jar包及其依赖环境打包成exe和python及其依赖环境打包成exe,以为完美收工,没想到进一步的需求扑面而来,要求把3个exe和依赖包打包成一个exe安装程序,给到用户,无需重新安装部署java、python运行环境及依赖包,直接点击桌面快捷方式即可启动所有服务,正常使用软件。这些选手不讲武德,我劝他们耗子尾汁,毕竟我是个测试人员。
    (2)二话没说就是个上网查解决方案。有人仍了个软件名称说,用这个可以,没有步骤,没有截图,我K,无情!!!有人说简单,自己写个程序实现,要毛的软件,够狠!!!终于查出了点眉目,使用绑定机,可以把两个exe绑定成一个exe,点击一个exe可以启动两个服务,但我的需求是一键启动3个,可惜绑定机只能绑两个,就差一点点呀!哎...后来突然想到,可以先把前两个exe合成一个exe,然后再把合成的exe和第三个exe合成一下不就行了吗?哈哈哈,机智的一匹。结果这么干,一键启动时提示找不到java运行环境,我败了,太天真了,天底下哪有这想当然的好事,还得想破脑袋另辟蹊径。
    (3)查来查去实在解决不了,准备用批处来启动3个exe,然后把bat作为主启动程序打成安装包,结果打安装包的时候出事了,主启动程序只支持选择exe,眼看我这条线索又断了,我一拍桌子站了起来,好,你TM不支持bat,那我把bat转成exe总行了吧?其实我就是赌气这么猜想的,能不能转咱也不知道。上网一查,还真有软件把bat转成exe,哈哈哈,磕磕绊绊我简直又是机智的一匹!实践证明此路可通罗马,完美!!!
    

    一、 用exe4j 软件把jar包打包成exe可执行程序(点击蓝色文字可跳转详情)

    二、用pyinstaller把Python代码及其依赖环境打包成exe程序(点击蓝色文字可跳转详情)

    三、用批处理实现一键启动多个exe程序,再用Bat To Exe软件把批处理程序转换成exe程序

    1. 写一个一键启动3个exe的批处理(如:“jdxxk.bat”),双击运行批处理验证启动效果。
      在这里插入图片描述
      注意:批处理要自动获取所启动的exe程序的路径(按截图中写即可),否则打包成安装程序后发给别人运行时会出现无法找到运行程序的问题。
    2. 下载并安装Bat To Exe软件,根据截图步骤操作把bat程序转换成exe程序,双击运行exe程序检查运行效果。
      下载Bat To Exe软件软件:https://pan.baidu.com/s/1Ydq4tiaRd5z9YiiliVigkA
      注意:其他3个exe文件必须和转换后的exe放在同级目录下,否则运行报错。
      在这里插入图片描述

    四、用inno setup软件将批处理文件转换后的exe可执行程序及其依赖环境打包成exe安装包

    1. 安装并打开inno setup软件,关闭Welcome窗口,按键盘“Ctrl+N”,创建一个新脚本,点击Next。
      在这里插入图片描述
    2. 输入应用程序的名称,如:“jar2installer”,其他可根据需要设定,点击Next-Next。
      在这里插入图片描述
    3. 点击“Browse”,选择安装后软件的主执行exe文件,如“D:\output\jartoexe.exe”;点击“Add Folder”,选择软件运行相关依赖文件的文件夹,如:“D:\output”,(output目录中包含软件运行依赖的jre),点击Next-Next直到Compiler Settings页面。
      注意:其他3个exe文件必须和主程序jdxxk.exe放在同级目录下,否则运行报错。
      在这里插入图片描述
      在这里插入图片描述
    4. 设置生成安装包的存放路径,如“D:\”;设置生成的安装包的名称,如“jar2installer”,设置生成的安装包的图标(可不设置图标),点击Next-Next-Finish。
      在这里插入图片描述
    5. 点击【是】,开始编译脚本。
      在这里插入图片描述
    6. 点击【是】,设置保存脚本的路径和名称(保存后可以复用,也可以点击【否】不保存)。
      在这里插入图片描述
    7. 保存好脚本后,脚本会自动运行,运行完成后就生成了exe安装包。双击exe就可以像我们平时下载的软件一样安装软件了。
      在这里插入图片描述
    展开全文
  • 一、简介py2exe是一将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这可执行程序。py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,...
    一、简介py2exe是一个将python脚本转换成windows上的可独立执行的可执行程序(*.exe)的工具,这样,你就可以不用装python而在windows系统上运行这个可执行程序。
    
    py2exe已经被用于创建wxPython,Tkinter,Pmw,PyGTK,pygame,win32com client和server,和其它的独立程序。py2exe是发布在开源许可证下的。

    二、安装py2exe从 http://prdownloads.sourceforge.net/py2exe下载并运行与你所安装的Python对应的py2exe版本的installer,这将安装py2exe和相应的例子;这些例子被安装在lib\site-packages\py2exe\samples目录下。

    三、py2exe的用法如果你有一个名为helloworld.py的python脚本,你想把它转换为运行在windows上的可执行程序,并运行在没有安装python的windows系统上,那么首先你应写一个用于发布程序的设置脚本例如mysetup.py,在其中的setup函数前插入语句import py2exe 。
    mysetup.py示例如下:
     
    1#mysetup.py
    2from distutils.core import setup
    3import py2exe
    4 
    5setup(console=["helloworld.py"])
    然后按下面的方法运行mysetup.py:
     
    1python mysetup.py py2exe
    上面的命令执行后将产生一个名为dist的子目录,其中包含了helloworld.exe,python24.dll,library.zip这些文件。
    如果你的helloworld.py脚本中用了已编译的C扩展模块,那么这些模块也会被拷贝在个子目录中,同样,所有的dll文件在运行时都是需要的,除了系统的dll文件。
    dist子目录中的文件包含了你的程序所必须的东西,你应将这个子目录中的所有内容一起发布。

    默认情况下,py2exe在目录dist下创建以下这些必须的文件:
    1、一个或多个exe文件。
    2、python##.dll。 
    3、几个.pyd文件,它们是已编译的扩展名,它们是exe文件所需要的;加上其它的.dll文件,这些.dll是.pyd所需要的。
    4、一个library.zip文件,它包含了已编译的纯的python模块如.pyc或.pyo
    上面的mysetup.py创建了一个控制台的helloword.exe程序,如果你要创建一个图形用户界的程序,那么你只需要将mysetup.py中的console=["helloworld.py"]替换为windows=["myscript.py"]既可。

    py2exe一次能够创建多个exe文件,你需要将这些脚本文件的列表传递给console或windows的关键字参数。如果你有几个相关联的脚本,那么这是很有用的。
    运行下面个命令,将显示py2exe命令的所有命令行标记。
     
    1python mysetup.py py2exe --help
    四、指定额外的文件一些应用程序在运行时需要额外的文件,诸如配置文件、字体、位图。
    如果在安装脚本中用data_files可选项指定了那些额外的文件,那么py2exe能将这些文件拷贝到dist子目录中。data_files应包含一个元组(target-dir, files)列表,其中的files是这些额外的文件的列表。
    示例如下:
     
    01#mysetup.py
    02from distutils.core import setup
    03import glob
    04import py2exe
    05 
    06setup(console=["helloworld.py"],
    07       data_files=[("bitmaps",
    08                    ["bm/large.gif", "bm/small.gif"]),
    09                   ("fonts",
    10                    glob.glob("fonts\\*.fnt"))],
    11)
    说明:data_files选项将创建一个子目录dist\bitmaps,其中包含两个.gif文件;一个子目录dist\fonts,其中包含了所有的.fnt文件。

    五、Windows NT services你可以通过传递一个service关键字参数给setup函数来建造Windows NT services
    ,这个service参数的值必须是一个Python模块名(包含一service类)的列表。
    示例如下:
     
    1#mysetup.py
    2from distutils.core import setup
    3import py2exe
    4 
    5setup(service=["MyService"])
    所建造的可执行的service是可以通过在其后跟一定的命令行参数标记来自行安装和卸载的。你可以通过在这个可执行的service(exe)后跟一-help参数来得到更多的帮助。

    六、COM servers

    你可以通过传递一个com_server 关键字参数给setup函数来建造Windows NT services,这个service参数的值必须是一个Python模块名(包含一个或多个COM server 类)的列表。示例如下:# mysetup.pyfrom distutils.core import setupimport py2exesetup(com_server=["win32com.server.interp"])默认情况下,DLL和EXE servers被建造,你不需要它们的话你可以简单的删除它们。

     

    七、本人补充

    补充一下,如果要把python编译的所有文件打包到一个exe中,就需要在setup()这个函数中,要设置2个参数:options中的bundle_files和zipfile。
    其中bundle_files有效值为:
    3 (默认)不打包。
    2 打包,但不打包Python解释器。
    1 打包,包括Python解释器。
    example:

     
    1options = {"py2exe":{"bundle_files": 1}}
    zipfile的有效值为:
    不填(默认) 生成一个library.zip文件
    None 把所有东西打包进.exe文件中

    贴一个自己写的代码

     
    01#! /usr/bin/env python 
    02# -*- coding: utf-8 -*- 
    03 
    04#安装成windows服务的python脚本
    05#内容:
    07from distutils.core import setup
    08import py2exe
    09 
    10options = {"py2exe":{"compressed": 1, #压缩  
    11        "optimize": 2, 
    12        "bundle_files": 1 #所有文件打包成一个exe文件
    13}}   
    14 
    15setup(
    16    service=["PyWindowsService"],
    17    options=options,
    18    zipfile=None)
    展开全文
  • swf打包exe教程(1)在制做一个FLASH时常常有文件中需导入...如何将多个swf文件打成一个exe包呢?比如:有 main.swf、av.swf、6-2.swf、6-3.swf 这样4个SWF文件 其中main.swf 调用其它的SWF,现在把它们发布成一个 EX...

    swf打包exe教程(1)

    在制做一个FLASH时常常有文件中需导入其它swf文件的情况,这种情况使用flash player打包成EXE文件时,无法将附带的swf文件打进去,这给文件的复制带来了不便。如何将多个swf文件打成一个exe包呢?

    比如:有 main.swf、av.swf、6-2.swf、6-3.swf 这样4个SWF文件 其中main.swf 调用其它的SWF,现在把它们发布成一个 EXE 文件。

    这种功能要使用第三方软件。不过这个软件很普及,几乎人人都用——WINRAR!怎么做?跟我来——

    1、准备好你的所有swf文件和一个你中意的ICO图标文件——它就是你打包后的图标。

    这里,main.swf是主文件(最好用flash player 导成exe 文件),其它是main调用的文件。

    2、选中所有文件,右击在弹出的快捷菜单中选择 "winrar 添加到压缩文件..."

    把A选中,在B处写上你EXE文件的名字

    3、更改设置

    在“高级”选项里进行设置

    选C——点D——出现下图

    在“常规”里设置解压后调用的主文件名。(很关键,名字不要错,注意是解压后运行的文件名!!)

    展开全文
  • 多个jar打包成一个jar

    2018-08-16 15:47:55
    为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令就是使用jar xf jar的文件名 test(是我随便起的文件夹名字,里面放着所有的 jar,并且直接在这个文件下执行这个命令...

    1.提取jar包
    为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令就是使用jar xf jar的文件名
    test(是我随便起的文件夹名字,里面放着所有的 jar,并且直接在这个文件下执行这个命令就可以)
    2.将提取之后的 jar 包删掉,(可以 copy 到另一个文件夹,留着以后有用),之后的重新打包不删掉会有影响.
    3.打包成一个 jar : 命令 —> jar -cvfM XXX.jar . (末尾有个点)
    如: jar -cvfM javamail.jar .

    之后在test文件夹下面就会看到打包出来的一个新 jar 包: hadoop.jar

    展开全文
  • 请教各位大佬,刚把多个mp3文件转成wav,怎么将这些wav打包成一个bnk文件啊?
  • //需求:(0913) //给我一个打包好的NAudio2.0 //或者告诉我怎样将多个DLL打包成一个,以NAudio为案例 需求:(0917) 我是真的 也许我表达的不清楚 例如 现在有5个打包好的DLL 现在我要把它整合成一个DLL 怎么办
  • 在启动类的module中添加spring-boot-maven-plugin插件,引入其他module即可打包成一启动jar,运行parent的clean、compile、install、package即可
  • 用eclipse将多个jar打包成一个jar

    千次阅读 2017-01-30 16:32:04
    若是能将所有的第三方jar文件连同程序运行文件一并打包成一个jar,使用就会方便得。经过摸索,可以使用eclipse完成此项功能。步骤如下: 0. 前置条件: 已在eclipse中创建了项目,并导入了所有第三方jar文件; 1. ...
  • .Net程序压缩打包助手. 把exe和dll打包成一个文件。神器呀
  • 使用pyinstaller将含有多个py文件的工程打包成一exe文件 1.首先创建一个spec文件,命名为main 使用Notepad++将main.spec文件打开,将第二步中的代码复制到文件中。 2.在文件中写下如下代码 # -*- mode: python -...
  • 将jar包打包成一个exe执行文件,下吧,下吧..........
  • 多个project打包成一个apk

    千次阅读 2013-11-01 14:40:21
    1. 将一project作为主project,其他的project均设置为library,安装完成后会只显示一app。 第一步,把普通的android project设置成库项目  库项目也是一标准的android项目,因此你先创建一普通的android...
  • 我指的是 **多个 .py 文件**。包括它的附件,比如.png格式的图片。有没人知道?
  • http://blog.csdn.net/wonengxing/article/details/14000859
  • 如何把多个Android Project打包成一个APK(你的项目如何引用其他项目)。 如何把多个android project 打包成一个apk呢,其实原理是这样的,一个主project引用其他的project,其他project类似于jar包一样被引用,...
  • 现有几运行程序已经打包好,现在想把这几运行程序打包成一个exe,要能够指定顺序一个个安装,并且在每安装之前检测想是否已经安装过了,已经安装的提示用户是否安装。
  • gradle将模块打包成一个jar执行类demo,附博客地址:https://blog.csdn.net/qq_43813937/article/details/106869813
  • 提取jar包 为了将多个jar包打包成一个jar包,首先要将每个jar包的内容提取出来放到一个文件夹下,具体的操作命令就是使用jar xf jar的文件名 比如我的jar放到桌面的一个新建文件夹(2)下,那么就通过cmd进入到这个目录...
  • 如何将EXE和资源文件打包成一个EXE

    千次阅读 2010-09-18 22:17:00
    在set.exe中点击某按钮,将show.exe、info.dat、sound.wav打包成一个文件xxxx.exe’。2.show.exe’被执行后,在windows/system目录下释放出info.dat、sound.wav两文件。3.show.exe’读取windows/system中所需要的...
  • 编写的程序打包成一个exe文件,随时可以双击执行,想想是不是很酷。接下来我们一起看一下如何将自己编写的程序打包为一个exe的可执行程序。将程序打包成exe的好处除了满足自己...
  • Python selenium —— 将你的自动化脚本打包成一个exe

    万次阅读 多人点赞 2016-12-15 15:17:28
    写好了Python selenium脚本,到其他机器上运行,还得要在其他机器上也装一套Python的环境,尤其在你用了...今天博主就带你将你的py脚本打包成一个exe 1. 环境 首先准备下环境,一台32位虚拟机(64位的py2exe不允许将程
  • QT5.13 程序打包在win10发布(将QT5的工程项目打包成一个exe程序) 介绍一下我所使用的打包工具。一是QT5自带的windeployqt(这大家不需要下载安装),另外一是Engima Virtual Box,这是下载链接Engima ...
  • 比如一个工程项目有多个模块A,B,C,每个模块各自有自己的APK生成,其中A的APK需要调用B,C的APK,那么最后整合的时候我们的问题就来了,如何才能把这多个APK打包成一个APK呢? 我们举例说明: 假如有两个APK:...
  • 有三文件,一test.bat,一test.exe,一test.zip,现在需要写这test.bat,运行这test.bat会将test.exe和test.zip打包成一个new.exe,运行这new.exe会生成test.exe和test.zip,并且会执行test.exe,让问各位...
  • Xcode把多个静态库打包成一个库

    千次阅读 2019-01-25 19:30:55
    Xcode把多个静态库打包成一个库 把Perform Single-Object Prelink设置为Yes。 在Prelink libraries参数下把需要合并的静态库路径进行设置。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 57,098
精华内容 22,839
关键字:

多个exe打包成一个