0

我有一个 Java 应用程序(一个很大的应用程序,有许多外部 .jar 依赖项以及对图像的依赖项),我需要将它打包以便有人可以双击运行,例如。或者像这样简单的事情。

它使用 Java Persistence,因此它需要在 Java 项目的 Persistence.xml 文件中指定的 sql 连接。

我该如何打包?我刚在想:

  1. 安装过程应该验证用户是否安装了 MySQL,如果没有,指导他们安装它
  2. 安装过程可能会要求用户输入任何数据库的凭据,然后我可以在运行时更新 Persistence.xml

这是我的两个想法……但我不确定是否有已知的解决方案来解决这个问题。任何帮助将非常感激!

4

3 回答 3

1

我认为您应该看看嵌入式数据库解决方案,例如 H2。此外,您可以使用 maven 的 shadowing 或 jar 插件打包您的应用程序,激活 jar-with-dependencies 配置文件。

这将很好地免除您检查客户端计算机上运行的数据库服务器的工作,并且还将为您提供将应用程序捆绑在一个不错的 JAR 中的适当方法,尽管它有点大。

Maven 是一个构建生态系统和工具集,专为构建 Java 应用程序和执行代码而设计——通常可以做任何你能想象到的与代码相关的事情。

它有丰富的 API 用于开发插件,许多开发人员已经利用了这个功能。有许多插件可用于构建、启动和打包您的应用程序,以及帮助您管理应用程序依赖项。

Maven 的阴影以 的形式出现maven-shade-plugin,可在此处获得获得。它的作用是帮助您从所有依赖项创建单个 JAR 文件。此外,还有maven-jar-plugin一个提供配置文件jar-with-dependencies。也可以从这里访问。

另一方面,H2 是一个成熟的 RDBMS。这是网站: http ://www.h2database.com/html/main.html ,是一个教程。

您可以在此处找到有关嵌入数据库的信息:

我还建议您使用 H2/Hibernate/Spring 的组合,这是一个非常简单的设置,并为您提供了非常丰富的功能和易于使用的 API。

我希望这可以帮助你 :)

于 2012-10-20T02:49:45.770 回答
0

构建一个复杂的安装程序来检查大量的依赖关系,并在很多不同的平台上运行(我假设你想要)是复杂的。

我建议您查看安装程序生成器;请参阅java 的最佳安装工具是什么?

我在一些产品中看到的另一种替代方法是使用 Perl 之类的脚本语言编写(非 GUI)安装程序或配置程序。

于 2012-10-20T02:54:34.837 回答
0

我使用 ANT 编写了一个安装程序,但没有 GUI。另外,我使用了 Iz Pack(不错的选择),所以我认为这取决于您希望它有多聪明,如果您应该使用它,还是非技术人员等。

于 2012-10-20T05:07:58.437 回答