Maven 在Rapidclipse X上将war文件部署到tomcat 9时出错

Maven 在Rapidclipse X上将war文件部署到tomcat 9时出错,maven,tomcat,deployment,vaadin,Maven,Tomcat,Deployment,Vaadin,在Windows10版本20H2上使用Java11(AzulZuluLuOpenJDK)在tomcat9服务器上启动RapidClipseX中创建的最小应用程序时,我遇到了初始问题 我安装了RapidClipseX 10.3,将tomcat 9 zip文件解压到目录“tomcat9”,安装了Azul Zulu OpenJdk 11,然后启动了RapidClipseX IDE。首先,将tomcat9设置为RapidClipseX的本地服务器。然后使用新的AppLayout模板创建了一个演示项目。I

在Windows10版本20H2上使用Java11(AzulZuluLuOpenJDK)在tomcat9服务器上启动RapidClipseX中创建的最小应用程序时,我遇到了初始问题

我安装了RapidClipseX 10.3,将tomcat 9 zip文件解压到目录“tomcat9”,安装了Azul Zulu OpenJdk 11,然后启动了RapidClipseX IDE。首先,将tomcat9设置为RapidClipseX的本地服务器。然后使用新的AppLayout模板创建了一个演示项目。IDE在此处创建文件后,我单击“BuildWebApp(.war)”以进行构建。这一切进展顺利,没有任何错误。然后我点击“启动Servlet”,在选择tomcat9服务器并将应用程序添加到列表中之后,它启动了。 查看几秒钟后,在控制台窗口中出现以下错误消息以及许多其他异常:

无法确定开发模式的项目目录。目录“C:\Program Files\XDEV Software\RapidClipse X”看起来不像Maven或Gradle项目。在部署应用程序之前,确保已运行prepare frontend Maven目标,该目标生成“flow build info.json”

它以期末考试结束: java.util.concurrent.ExecutionException:org.apache.catalina.LifecycleException:无法启动组件[StandardEngine[catalina].StandardHost[localhost].StandardContext[/crudtest]

然后它停止工作并退出tomcat服务器

我大体上了解vaadin的构建过程,并且已经为maven和springboot的vading设置了项目。就我所知,它没有运行他的npm构建步骤。在生成的pom.xml中,我找不到任何使用vaadin插件的迹象

如果环境已经能够用maven构建,可以在Java11上吹嘘,并且有一个Tomcat9的工作安装,那么我可以断定RapidClipseX IDE已经开箱了。但事实并非如此。有人能告诉我这里出了什么问题吗

所有答案的最佳答案,
Ralf

处于开发模式的Vaadin需要找到应用程序自身源的位置,以便管理客户端依赖项,如Vaadin web组件。对于
.war
部署,查找该位置的主要方法是
vaadin maven plugin
中的
prepare frontend
目标将找到该位置,并将其存储在名为
flow build info.json
的文件中,该文件将放置在一个位置,该位置应最终位于生成的
.war
文件中

我不太清楚RapidClipse X是如何与Maven和Tomcat集成的,但我怀疑您的问题是由该领域的某些东西造成的。要调查的第一件事是检查
prepare frontend
是否已运行。您可以通过检查是否存在
target/classes/META-INF/VAADIN/config/flow build info.json
文件来实现这一点(并且它包含两个引用应用程序源绝对位置的条目)。RapidClipse X可能不会自动运行
prepare frontend
,在这种情况下,您需要在每次清理项目生成时手动执行此操作

如果该文件位于
目标
目录中,那么下一个问题可能是由于某种原因,它没有包含在部署到Tomcat的
.war
文件中。您可以尝试定位build
.war
文件(它也可能是“分解的war”的形式,它只是文件系统中具有相同内容的一个目录),并检查它在
WEB-INF/classes/META-INF/VAADIN/config/flow build info.json
位置是否也包含相同的文件。如果其中缺少文件,则一种可能性是RapidClipse X在创建.war之前正在清理
目标
目录,或者它从其他位置而不是基于
目标
目录的内容来构建
.war

对于你的问题,我恐怕没有任何明确的答案,但对于你可能需要研究的方向,我只有一些模糊的线索:(.我希望我的建议至少能提供一些帮助