求助:将eXist-db 5.3.0版本打包为war包的实现方案
eXist-db 5.3.0 WAR包构建部署指南
eXist-db 从5.x版本开始官方不再提供预编译的WAR格式分发包,需自行基于官方源码适配构建,以下是经过验证的可行操作流程:
前置环境准备
- 安装JDK 11 LTS版本,这是eXist-db 5.3.0官方指定的兼容运行版本,禁止使用JDK 12及以上版本避免兼容性问题
- 安装Maven 3.6及以上版本
- 获取eXist-db 5.3.0版本的官方源码归档包,解压到本地工作目录
构建配置调整
- 打开源码根目录的
pom.xml文件,定位到war模块的配置节点,可修改<finalName>参数自定义最终生成的WAR包名称 - 确认
servlet-api依赖的scope为provided,避免和后续部署的Web容器自带的servlet包产生冲突 - 若需要预置管理员密码、默认存储路径、服务参数等配置,修改
exist-core/src/main/resources/conf.xml对应的参数项,无需部署后再调整
执行WAR包构建
- 在源码根目录下执行构建命令:
mvn clean package -DskipTests -Pwar - 构建无报错完成后,生成的WAR包位于源码目录的
exist-war/target/路径下
部署验证注意事项
- 仅支持部署在Tomcat 9.x及更低版本的Java EE规范容器,禁止使用Tomcat 10+的Jakarta EE版本容器,会出现类加载异常
- 部署前给Web容器配置足够的运行内存,以Tomcat为例,修改
catalina.sh(Linux)或catalina.bat(Windows)的JAVA_OPTS参数为-Xms2048m -Xmx4096m,避免运行时内存溢出 - 将WAR包放入Tomcat的
webapps目录下启动服务,待自动解压完成后访问http://<容器地址>/<WAR包名>/exist即可进入管理后台,用预置的管理员账号登录验证功能正常 - 若需要预装扩展XAR包,可在构建前将对应XAR文件放入
exist-war/src/main/webapp/WEB-INF/expathrepo目录,部署时会自动完成安装
内容的提问来源于stack exchange,提问作者Imanol Irigoyen
相关产品推荐
相关产品推荐

