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