首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用Java创建可执行安装程序

用Java创建可执行安装程序
EN

Stack Overflow用户
提问于 2013-10-25 19:17:24
回答 2查看 295关注 0票数 0

我有兴趣为我的C#应用程序制作一个一键安装程序。

我把应用程序的框架写下来了。installer()方法中应用程序的逻辑是:

代码语言:javascript
复制
public static void installer(){
        deleteLegacyFiles(); // deletes old files through a find method
        moveSQLite(); // moves the database file
        if(checkRevit2013()){ // checks whether Revit '13 is installed
            movePlugin2013(); // moves my plugin into the Addin folder or Revit
        }else if(checkRevit2014()){ // check whether Revit '14 is installed
            movePlugin2014(); // moves my plugin into the Addin folder or Revit
        }else{ 
            System.out.println("It does not look like you have either Revit 2013 or Revit 2014 installed.");
        }
    }

但是,这个Java脚本(不是Javascript,而是Javascript)实际上只从/Desktop/获取了三个文件夹,并将它们复制到各自的target文件夹中。我对一种解决方案感兴趣,该解决方案将我的所有三个文件夹都转换成一个可执行文件(类似于.exe.msi)并执行上述操作。

对于Java,有什么解决方案吗?将多个文件夹/文件打包在一起,然后允许一次单击解决方案进行安装的东西?我不知道怎么表达我想要的,因为这是我的第一个软件开发项目。欢迎任何建议。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-10-25 19:34:46

您想要创建/构建一个可执行的jar文件吗?如果是这样的话,你可以用一个罐子之类的东西。

http://one-jar.sourceforge.net/index.php?page=introduction&file=intro

以下是几个步骤:

  1. 创建一个包含应用程序类文件的可执行JAR文件。(导航到工作区的bin目录)将此名称命名为" main.jar“jar cfm main.jar manifest.txt *.class或jar cfm main.jar manifest.txt。
  2. 创建三个目录: MAIN、LIB和BOOT
  3. 将"main.jar“文件放在主目录中。
  4. 将主应用程序所依赖的jar文件放在LIB目录中。
  5. 内盖特打包-创建一个新的JAR文件外的主目录和自由。把这个命名为"MyUtil.jar“。您不需要向此文件添加清单或执行任何特殊操作。它不需要可执行。只需使它包含主目录和LIB目录的内容。jar cf MyUtil.jar主库
  6. 将"one-jar-boot.jar“文件的内容解压缩到引导目录中。
  7. 导航到引导目录,并使用以下内容更新"MyUtil.jar“文件: jar -uvfm ./MyUtil.jar引导--明显. to。
  8. 您的"MyUtil.jar“文件现在应该是可执行的。试试看。
票数 0
EN

Stack Overflow用户

发布于 2013-10-25 19:36:26

您可以在java中创建一个可执行的jar文件。这个jar将有一个应用程序来执行上面列出的所有复制。但是它不会从桌面复制,而是复制包含在可执行jar中的目录。jar是一种压缩文件类型(实际上,您可以将扩展名从jar更改为zip并检查内容)。

您的策略是创建一个常规的java应用程序,包为一个可执行的jar。将您想要安装的目录作为资源包含在jar中。查看用于操作jar的所有java实用方法和类的jar文档。

http://docs.oracle.com/javase/tutorial/deployment/jar/

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19597774

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档