0

我正在尝试为 Java 应用程序构建安装程序,并想构建一个提取自身的 JAR。JAR 将使用 Maven 程序集构建,并在清单中指定一个主类。我希望主类将 JAR 的其余部分提取到指定目录中。JAR 将包含其他 JAR 和一些文档。我发现了其他问题,例如(如何将 jar 内的文件复制到 jar 外?),但它们没有解决自解压 JAR 问题。我想知道如何 1)获取执行 main 的 JAR 的位置和名称,2)将 JAR 的内容复制到指定的目录中。

更新:我也很欣赏解决如何为 Maven Java 应用程序(使用 Eclipse)构建安装程序的答案。

4

2 回答 2

1

如果您有希望用户更新的配置,则不要将它们包含在您的 jar 文件中。你有几个选择。

一种是写出默认配置文件(如果它们尚不存在)。

第二个是使用IzPack提供一个安装程序 jar,它将复制用户可以编辑的默认配置。

如果您想了解 IzPack 如何工作的示例,您可以下载Squirrel,这是一个 SQL 工具,它使用 IzPack 自行安装。

于 2015-09-29T20:18:23.080 回答
0

实际上这个答案对我有用:如何编写一个可以提取 JAR 文件并将其数据存储在指定目录(位置)中的 Java 程序?除了我想跳过复制主类文件以及跳过在其路径上创建文件夹,所以如果主类位于以“com”开头的包中,那么只需添加

if(file.getName().startsWith("com"))
    continue;

以下

java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());
于 2015-09-29T16:09:10.533 回答