java - 使开源 Java webapp 易于在 Tomcat、Jetty 等上安装和部署

标签 java web-applications tomcat servlets jetty

我正在分发一个简单的 Java 网络应用程序作为开放源代码。 Web 应用程序需要在运行前进行配置——需要创建一个配置文件,并且该配置文件的位置需要作为 web.xml 中的参数为 Web 应用程序所知。

现在我的问题是如何最好地打包和分发 webapp 以使其易于安装,以及如何在文档中描述该安装过程。我能想到的选项是:

  • 将网络应用程序作为 WAR 存档分发。建议用户将 WAR 部署到他们的 Tomcat/Jetty/whatever 中,然后将他们的配置文件放入 /webapps/myapp/WEB -INF,并相应修改/webapps/myapp/WEB-INF/web.xml
  • 分发网络应用程序作为源代码。建议用户将配置文件放入/src/main/webapp/WEB-INF文件夹,然后修改/src/main/webapp/WEB-INF/web.xml 相应地,然后使用 Ant 或 Maven 构建一个 WAR,并将其部署到他们的 servlet 容器中。

可能还有其他我想不到的选择。

对于需要安装、配置和部署 Web 应用程序的用户来说,哪种设置可能最方便?

编辑:我应该补充一点,配置文件不仅仅是几行——它是一个包含数据库模式和其他内容的大文件,并且可能使用外部编辑器生成;所以仅仅提供良好的默认值不是一种选择。

最佳答案

外部化此配置并可能提供一些默认值。如果您制作新版本的应用,每个人都必须记住备份该配置文件,然后重新部署并复制回该文件 --> 这是一场噩梦。

有很多方法可以将该配置放在其他地方。例如,您可以使用 Java Preferences

关于java - 使开源 Java webapp 易于在 Tomcat、Jetty 等上安装和部署,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9469823/

相关文章:

java - 如何暂停主线程并发执行2个方法,然后返回主线程?

java - 我应该使用什么 ASM API?

夏令时更改期间的 Java Calendar.roll 和 CST

python - 适用于每个可变阶段的 Flask 可扩展 URL

java - 在 Linux 服务器的 tomcat 上找不到 Struts2 操作命名空间和请求的 URL

spring - JMX 连接到 VirtualBox 上的 tomcat

Java 异常将 ": null"附加到 "Caused by"子句

java - 当我有 "Failed to scan[...]"警告时,如何在我的 spring boot 应用程序中处理 JAR 扫描?

java - 限制 Tomcat 中的最大请求大小

c# - 从 DateTime 中删除时间