如何为 java 网络应用程序创建开发服务器

How to create a development server for a java web application

我们想为我们的学校项目构建一个 java 网络应用程序(servlet 和 JSP),并且我想优化开发工作流程,原因如下:

  1. 所以我们都可以使用相同的工具和相同的版本(SDK,tomcat-服务器,MySQL数据库)

  2. 阻止已知的 "but it works on my machine" 语句。

  3. 快速设置开发者运行,无需在主机上安装软件。

  4. 学习目的。

所以我想做的是设置一个 VM 并使用 vagrant 配置它以安装正确的 SDK、tomcat 服务器和 MySQL 客户端-服务器,甚至可能设置一个 docker-compose 文件在 vagrant 机器中?这是一个好主意吗?

我们不受任何约束 IDE,我发现了一些有用的 vagrant boxes 可以提供帮助:

https://github.com/ssledz/vagrant-boxes/tree/master/java-dev-environment https://github.com/timofurrer/java-dev

我可以将 IDE 配置为在机器启动时使用我的 运行 tomcat 服务器,而无需在 IDE 上手动配置吗?

这是矫枉过正吗?我们应该创建一个更简单的开发服务器吗?如果是这样,如何?

现在您可能已经猜到了,我们在 Java 网络应用程序开发或团队合作方面没有太多经验,但这是一个很好的学习机会,所以请随时提出不同的建议方法,这里的主要目标是获得一个我们都可以使用的开发工作区,并遵循最佳实践和行业标准。

我们怎样才能做到这一点?

So what I was thinking to do is to set up a VM and configure it using vagrant to install the proper SDK, tomcat server, and MySQL client-server, maybe even set up a docker-compose file inside the vagrant machine? is that a good idea?

当然,这是个好主意。 Docker 出于同样的原因变得如此受欢迎。

will it be easier working with eclipse?

IntelliJ IDEeclipse 同样优秀和受欢迎。它们都具有一些彼此不同的特征。因此,IDE 和 IDE 的选择应取决于您使用 IDE.

的经验

How should we deploy the app to the tomcat server running on the virtual machine? with another server on the host machine?

我建议您使用 Jenkins 构建 CI/CD 管道。另外,一定要使用一些源代码控制软件(我推荐git)。

好的,所以我所做的是在现有的 vagrant java-dev box 上构建 java 和 eclipse,我添加了一个脚本来安装 tomcat 服务器7,以及一个包含一些模拟数据的 MySQL 数据库。

这是一个link:https://github.com/nati-elmaliach/vagrant-java-development-server