Ubuntu 18.04部署Flowable开源REST API访问返回404错误如何解决
问题排查步骤
1. 优先排查Java版本兼容性
Flowable 6.x 正式版默认仅适配Java 8/11,你当前使用的Java 17需要额外配置启动参数才能正常运行,否则会出现war包启动失败、Tomcat加载不到应用的情况:
- 首先查看Tomcat启动日志确认报错:
搜索日志中是否存在cat tomcat安装路径/logs/catalina.outSEVERE级别的类加载、模块化相关报错。 - 解决方案二选一:
- 推荐切换到Java 11,是Flowable官方适配最稳定的版本
- 若要继续使用Java 17,在Tomcat的
bin/setenv.sh文件中添加如下配置(文件不存在就新建):
保存后重启Tomcat即可。CATALINA_OPTS="$CATALINA_OPTS \ --add-opens java.base/java.lang=ALL-UNNAMED \ --add-opens java.base/java.util=ALL-UNNAMED \ --add-opens java.base/java.lang.reflect=ALL-UNNAMED \ --add-opens java.base/java.io=ALL-UNNAMED \ --add-opens java.base/java.math=ALL-UNNAMED"
2. 检查war包部署状态
- 确认
flowable-rest.war已经放到Tomcat的webapps目录下,执行以下命令查看文件权限:
对比ls -l tomcat安装路径/webappsflowable-rest.war的权限、所有者是否和Tomcat自带的ROOT、docs等应用一致,若权限不足执行:sudo chmod 755 tomcat安装路径/webapps/flowable-rest.war # 若Tomcat运行用户不是root,替换为对应的用户组 sudo chown root:root tomcat安装路径/webapps/flowable-rest.war - 检查war包是否正常解压:正常情况下启动Tomcat后
webapps目录下会生成和war包同名的文件夹,若没有生成说明应用启动失败,回到第一步查看日志排查报错。
3. 确认访问路径是否正确
- 若war包名称带版本号(比如
flowable-rest-6.8.0.war),解压后的文件夹名称也会带版本号,此时访问路径需要对应调整为http://ip:8080/flowable-rest-6.8.0/xxx,而不是默认的/flowable-rest/路径。 - 可以先访问Tomcat默认首页
http://ip:8080,进入Manager App查看已部署应用列表,确认flowable-rest应用的状态为running,以及对应的上下文路径。
4. 检查sudo运行的环境变量问题
sudo执行命令时会重置部分环境变量,可能存在你普通用户下Java配置正常,但sudo下找不到对应Java路径的情况:
- 执行以下命令确认sudo下的Java配置:
若输出和你普通用户下的Java版本、路径不一致,在sudo java --version sudo echo $JAVA_HOMEbin/setenv.sh中手动指定JAVA_HOME路径:# 路径替换为你实际的Java安装路径,可通过update-alternatives --list java查询 export JAVA_HOME=/usr/lib/jvm/java-17-oracle
验证测试
修复完成重启Tomcat后,执行以下命令测试接口是否正常:
curl --user rest-admin:test http://localhost:8080/flowable-rest/service/management/info
正常会返回Flowable的版本、服务状态等JSON信息。
内容的提问来源于stack exchange,提问作者dab92
相关产品推荐
相关产品推荐

