0
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,最好使用简单的命令行界面以便用户可以:

  1. 选择安装程序包所在的源路径(即在桌面上)
  2. 选择安装 Revit 的目标路径

安装过程应尽可能无缝。这个脚本基本上取代了拖放——我基本上已经完成了。

4

2 回答 2

0

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

有关如何执行此操作的更多背景信息和说明,请参阅设置应用程序的入口点。

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

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

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

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

编辑如果你想把你的.jar变成一个.exe,那么我上面列出的还不够。在这种情况下,如其他答案中所述,您需要使用诸如launch4j之类的东西或商业替代品之一。

于 2013-10-25T14:36:05.540 回答
0

Right Click on your project in eclipse. Export -> Runnable jar and select main class where this logic is implemented. This will export runnable jar file.

Also, Install4j is very good option for packaging, installing and it also has support for multiple OS's. I personally has used install4j multiple times( for platforms like Windows and Mac), it's pretty simple and configurable. Please refer to below URL,

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

于 2013-10-25T14:24:42.097 回答