如何在Java中构建自提取JAR



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

UPDATE:我也希望回答如何为Maven Java应用程序构建安装程序(使用Eclipse)。

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

如果默认配置文件不存在,则输出默认配置文件。

第二种方法是使用IzPack提供一个安装jar,它将复制默认配置,然后用户可以编辑。

如果你想要一个IzPack如何工作的例子,你可以下载Squirrel,这是一个SQL工具,它使用IzPack来安装自己。

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

if(file.getName().startsWith("com"))
    continue;
下面的

java.io.File f = new java.io.File(destDir + java.io.File.separator + file.getName());

相关内容

  • 没有找到相关文章

最新更新