Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用MySQL DB的Java桌面应用程序完成后,如何创建安装程序?_Java_Mysql_Deployment_Netbeans_Installation - Fatal编程技术网

使用MySQL DB的Java桌面应用程序完成后,如何创建安装程序?

使用MySQL DB的Java桌面应用程序完成后,如何创建安装程序?,java,mysql,deployment,netbeans,installation,Java,Mysql,Deployment,Netbeans,Installation,我已经完成了用mySQL数据库编写Java桌面应用程序的工作。我想让应用程序在netbeans之外运行,并让它安装在其他计算机上。我知道如何构建项目和创建可运行的jar文件,但是这需要我将数据库本身导出到希望应用程序运行的另一台计算机上。 我的问题分为两部分: 1) 有没有办法创建一个安装文件,同时安装数据库和应用程序 2) 另外,我的数据库路径是硬编码的,这是否意味着每次为某人安装应用程序时都必须更改代码,有什么更好的方法可以做到这一点 谢谢 对。您可以使用一些设置生成器,例如InnoSetu

我已经完成了用mySQL数据库编写Java桌面应用程序的工作。我想让应用程序在netbeans之外运行,并让它安装在其他计算机上。我知道如何构建项目和创建可运行的jar文件,但是这需要我将数据库本身导出到希望应用程序运行的另一台计算机上。 我的问题分为两部分:

1) 有没有办法创建一个安装文件,同时安装数据库和应用程序

2) 另外,我的数据库路径是硬编码的,这是否意味着每次为某人安装应用程序时都必须更改代码,有什么更好的方法可以做到这一点

谢谢

  • 对。您可以使用一些设置生成器,例如InnoSetup。然而,就个人而言,我喜欢给我的客户一个zip文件,他们可以在任何他们喜欢的地方提取它。可执行jar应该能够自己处理所有事情(我喜欢在不需要安装软件的地方,只需解包并运行)
  • 如果它是硬编码的,那么是(但是,硬编码是什么意思?文件路径?ip地址?)。您应该将属性或配置文件用于软件所依赖的路径和其他外部内容。软件应该读取这些文件。启动时检查是否存在此类文件-如果丢失,应向用户显示一个可输入配置的窗口
  • 至于用你的代码部署MySQL——考虑使用一个服务器,这样你的用户就不会被迫安装MySQL,而是通过网络连接到它。如果数据库只用于本地存储数据,为什么不使用SQLite或类似的基于文件的db引擎呢

    以上的答案只是一些建议,更多的反映了我的想法。我很高兴听到有经验的人的消息。尽管如此,我希望这些答案能有所帮助:)

    我同意悲伤

    如果我必须使用MySQL,它通常是通过网络进行的,因为我不想让我的客户端经历安装MySQL的麻烦。但是,如果您坚持在本地使用MySQL,请调查MySQL无人参与安装+NSIS安装程序

    如果您可以使用任何想要的数据库,我只使用javadb/derby。现在,它与大多数Java安装捆绑在一起,如果不是所有的话,您需要的就是向应用程序添加一个jar文件

    根据“硬编码”路径,我真的不明白你的意思。实际上,您并没有“路径”,我假设您的意思是连接字符串。您不必硬编码连接字符串,只需将一些参数放入属性文件中,并从中构造连接字符串即可

    1) 有没有办法创建一个安装文件,同时安装数据库和应用程序

    看看我对你的回答

    2) 另外,我的数据库路径是硬编码的,这是否意味着每次为某人安装应用程序时都必须更改代码,有什么更好的方法可以做到这一点


    让DB安装程序弹出一个
    JFileChooser
    ,询问用户希望在哪里安装DB。使用JNLPAPI存储该路径。这是我的.< /P>这是URL,它是在本地主机3306上,我应该这样保存,并为我的客户端安装MySQL进行快速安装吗?这是在本地存储数据,你可能想考虑哪个对我来说是一个更好的主意。但是,如果您真的想坚持使用MySQL,那么url、端口、用户名和密码应该保存在某个配置文件中(显然,密码是以某种方式编码的,所以它不是简单存储的)。当然,这意味着您的每个客户机都必须安装MySQL。最后,如果在本地网络中,在一台机器上设置MySQL服务器,让另一台连接到它。这样,您就不必为所有用户安装客户端,只需安装一个。非常感谢,还有一个问题:关于我问的第一个问题,您是否创建了整个项目的zip?但是,我不希望客户端能够访问java代码,但是jar文件夹本身无法工作?jar只能包含编译的,
    .class
    文件。然后,.zip文件应该只有jar、文档、外部库等。如果您不想,则无需包含源代码;一旦代码被编译,它就可以在计算机和平台上移动。虽然可以对
    .class
    文件进行反向工程,但生成的代码基本上无法读取。