我一直在 IntelliJ IDEA 中开发一个 Java Web 项目 - 它包含一些用于逻辑的 Java 类,一些用于基于 Web 的 UI 的 JSP 文件,并使用 MySQL 数据库 - 全部托管在我自己的计算机上( MySQL 服务器用于数据库,Apache Tomcat 9 用于 Web 应用程序)。
我如何导出这个项目,包括数据库,以便我可以设置一台专用机器(比如运行 Ubuntu Server 或 Debian 的桌面,甚至可能是 Raspberry Pi)来运行它?
我对此做了一些研究,我发现我需要导出一个 WAR 文件,但我似乎无法在 IntelliJ 中找到该选项 - 我找到的所有指南都集中在 Eclipse 上.我也不知道如何处理数据库。
最佳答案
要为您的应用程序设置专用机器,您需要在一台机器上安装网络服务器(例如 Tomcat)和 MySQL 服务器。
请确保,当您在 WEB 应用程序中创建数据库连接时,不应对 MySQL 服务器的详细信息进行硬编码。我建议您使用属性文件来存储数据库详细信息并将它们用于数据库连接。 Ex.database.properties
mks.dynamicPool.config=\
url=jdbc:jtds:sqlserver://[yourmachinehost]:[SQL Server port]/[yourdatabase name];useCursors=true,\
driver=mks.frame.sql.jdbc.mssql.Driver,\
initialCapacity=5,\
maxCapacity=100,\
testTable=VersionIdentity
mks.dbUser=user1
mks.dbPassword=user1
要创建应用程序的 war 文件,请按照以下步骤操作:
- 点击“编辑配置”。
- 单击“部署”并添加您的工件。
- 应用这些更改。
- 您可以在 Build 下看到一个 Build Artifacts。
- 点击 Build Artifacts,它会在相应的文件夹中创建一个 war/jar。
将您的应用程序部署到 tomcat 服务器中,
- 将您的 war 文件复制/解压缩到 [TomcatInstallDir]/webapps
导入和导出数据库:
我希望你已经将 MYSQL 服务器设置到你的路径中。(如果没有然后使用命令设置:set path=c:\wamp\bin\mysql\mysql5.1.36\bin)
我。要导出数据库,可以使用以下命令:
mysqldump -u YourUser -p YourDatabaseName > dumpfilename.sql Note: This command should prompt you for password and with correct password it would export the database.
二。要恢复/导入以上导出的数据库,请使用以下命令:
mysql -u YourUser -p YourDatabaseName < dumpfilename.sql
使用新的数据库详细信息更新 database.properties 文件并启动 tomcat 服务器。
关于java - 将 Java Web 项目部署到物理服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46295889/