我已下载示例vaadin流应用程序并将其导入我的工作区。我创建了一个tomcat 8.0服务器,并添加了 my_starter_project 作为Web模块。此外,在tc 8.0服务器的“服务器位置”菜单中,我检查了“使用tomcat安装”。不过,每当我尝试访问http://localhost:8080/starter/
在server.xml中,我似乎有正确的路径集。
<Context docBase="my_starter_project" path="/starter" reloadable="true" source="org.eclipse.jst.jee.server:my_starter_project"/>
在日志文件中,我还有404次尝试:
0:0:0:0:0:0:0:1 - - [15/Mar/2018:14:53:37 +0100] "GET /starter/ HTTP/1.1" 404 1010
在tomcat管理器应用程序上,它说starter
个应用程序正在运行,虽然点击它会带来404.
同样的项目在码头顺利进行:运行
答案 0 :(得分:0)
找到答案。事实上,这个问题与警惕程度有关。示例项目的pom有java8的源和目标,而我的工作区默认vm是jdk9:
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<failOnMissingWebXml>false</failOnMissingWebXml>
<vaadin.version>10.0.0.beta1</vaadin.version>
<jetty.version>9.3.7.v20160115</jetty.version>
</properties>
因此它创建了一个JRE系统库引用jdk8 ...我将xml中的1.8更改为9(而不是1.9),刷新了maven项目,现在它可以在tomcat上运行。值得一提的是,有了这种编译级别码头无法运行webapp,但这是一个不同的情况。
我本来期望这里有一些向后兼容性,不确定为什么它不起作用以及为什么tomcat没有抱怨版本差异。