将.java“installer”转换为.jar可执行文件

时间:2013-10-25 14:20:19

标签: java windows-installer

public static void moveSQLite(){
        File source = new File("C:\\Users\\User\\Desktop\\System.Data.SQLite"); // Specify initial path
        File target = new File("C:\\Windows\\Microsoft.NET\\assembly\\GAC_64"); // Desired path

        // If the source location exists, delete the any old source files
        // and copy the entire directory of the source to the target location
        if(source.exists()){
            System.out.println("Installing SQLite Database.");
            try {
                FileUtils.deleteDirectory(target);
                System.out.println("Deleting previous versions of System.Data.SQLite");
                System.out.println("\"" + source + "\"" + " was successfully"
                        + " copied to " + "\"" + target + "\"");
                FileUtils.copyDirectory(source, target);
                System.out.println("SQLite database has been installed.");
            }catch (IOException e) {
                e.printStackTrace();
            }
        // Otherwise prompt the user that the source directory does not exist
        }else{
            System.out.println("SQLite not found - are you sure you have it in the right directory?");
        }
    }

上面是我的Revit插件“安装程序”的方法之一。它不是一个安装程序,而是一个将特定文件夹和文件移动到主机计算机上的目标的脚本。

这是我第一次为Java做“软件开发”,因此我不了解大多数软件开发实践 - 我的问题是:如何将其打包为.jar或.msi,最好是用简单的命令-line接口,以便用户可以:

  1. 选择安装程序包所在的源路径(即在桌面上)
  2. 选择安装Revit的目标路径
  3. 安装过程应尽可能无缝。这个脚本基本上取代了拖放 - 我基本上已经完成了。

2 个答案:

答案 0 :(得分:0)

在eclipse中右键单击您的项目。出口 - > Runnable jar并选择实现此逻辑的主类。这将导出runnable jar文件。

此外,Install4j是打包,安装的非常好的选择,它还支持多个操作系统。我个人多次使用install4j(适用于Windows和Mac等平台),它非常简单且可配置。 请参阅以下网址

http://www.ej-technologies.com/products/install4j/overview.html

答案 1 :(得分:0)

在清单中设置Main-Class:,使用java -jar myapp.jar语法将jar变为可执行文件

有关如何执行此操作的更多背景信息和说明,请参阅Setting an Application's Entry Point

假设Installer.class有main()方法,并且是您的应用程序入口点。您的清单可能如下所示:

  

清单 - 版本:1.0
  创建者:1.6.0_45-b06(Sun Microsystems Inc.)
  Main-Class:com.foo.Installer

然后运行java -jar installer.jar将调用com.foo.Installer

在某些操作系统下,双击jar也会启动主类。

修改如果您想将.jar变为.exe,那么我上面列出的内容是不够的。在这种情况下,如其他答案中所述,您需要使用launch4j或其中一种商业替代品。