新建一个项目引入私仓中的组件后报404错误


引入了这个组件。启动服务后,报404错

您好,看一下 deploy/tomcat/logs/catalina.out 是否有出错提示?

这些日志应该是之前产生的。没有新的日志

删掉 logs 目录下的所有日志,重启一下 cuba 服务,会生成新的日志。

这样操作了,并没有产生新的日志

日志再往上看看有没有错误信息。你的组件里有数据库脚本吗?如果有的话,配置了自动更新数据库吗?

有,这个应给怎么配置自动更新

得先确定起不来服务是更新DB的时候失败还是没更新导致的,这个log里会有。如果是数据库导致的:
一般自己在cuba Studio调试的时候,Cuba studio会提示你运行新的脚本,但有时候提示没有(我还没搞清楚原因), 所以可以在core模块的app.properties里配置 cuba.automaticDatabaseUpdate=true, 这样tomcat起的时候会自己去apply,可以留意下启动时的输出,会有关于数据库检查和更新的输出。

如果不是数据库的问题,还是得从log查起。服务没起来。log里不应该啥也没有。

这是服务起来了吧

不全算。得看catalina.out里的输出。仔细找找看。

把app.log上传看下,你截的不全。如果传不了,就压缩成zip包上传

app.log.zip (2.3 KB)
这是典型的输出, 里面提示各步骤都正常完成。
点击图上那个catalina.out查看,或者在deploy/tomcat/logs下面直接看文件。
image

catalina.2019-08-15.rar (1.4 KB)app.rar (3.8 KB)

app.log里大量提到了
“ Could not resolve placeholder ‘cuba.webContextName’ in value “${cuba.webContextName}.cuba:type=ConfigStorage””

全局搜下cuba.webContextName,cuba没有找到它的定义。这个在web模块的web-app.properties里一般是 cuba.webContextName = app。 在core下是 cuba.webContextName = app-core。

这些定义都有啊

看下web.xml,里面关于appPropertiesConfig的配置,是对应到你的web-app.properties 不:

appPropertiesConfig classpath:com/company/xxx/web-app.properties /WEB-INF/local.app.properties "file:${catalina.home}/conf/app/local.app.properties"

确认两点:
1 、移除了依赖的组件后能不能正常启动?
2 、组件重新发布一下,要发布成应用程序组件,需要修改项目的模块前缀,你在发布的时候Studio会有提示:


不要使用默认的”app“作为前缀

移除组件后能够正常启动。
修改项目模块前缀会报错。

不要直接在build.gradle里修改前缀,通过项目属性窗口修改: