根据spark documentation,这应该足以运行应用程序:
public class SparkServer {
public static void main(String args[]) {
Spark.staticFileLocation("src/main/webapp");
System.out
.println("bla bla bla");
RService rService = new Sparqlrservice();
new RController(rService);
}
}
我将该类放在项目中的一个包中,然后在Apache Tomcat服务器上运行Web应用程序(动态Web应用程序).
运行Apache Tomcat时不会出现print语句,这意味着此类未被调用.我知道这很有道理.这就是我要问的原因.请问如何让Apache Tomcat运行我的spark应用程序?
更新
@mlk answer之后,我做了以下事情:
public class SparkServer implements SparkApplication {
@Override
public void init() {
Spark.staticFileLocation("src/main/webapp");
System.out
.println("bla bla lba");
RService rService = new Sparqlrservice();
new RController(rService);
}
}
在我的web.xml中我做了:
display-name>SRecommenderdisplay-name>
<welcome-file-list>
<welcome-file>index.htmlwelcome-file>
<welcome-file>index.htmwelcome-file>
<welcome-file>index.jspwelcome-file>
<welcome-file>default.htmlwelcome-file>
<welcome-file>default.htmwelcome-file>
<welcome-file>default.jspwelcome-file>
welcome-file-list>
aram>
aram-name>
applicationClass
aram-name>
aram-value>com.srecommender.SparkServer
aram-value>
aram>
我的SparkServer在一个包中:
存在于源文件夹中的com.recommender:src / main / java
我运行apache tomcat,但是当我从spark调用任何路径时,它仍然返回404.
HITE我可以从main方法运行spark并调用我的页面,它们正在工作.所以我配置spark的方式问题在apache tomcat中运行
更新2
这是如何设置视图的路径
public RecommendationController(RecommendationService service) {
get("/",(request,response) -> {
Map
最佳答案
Spark附带一个内置容器,因此您不需要tomcat或jetty.如果要部署到完整的容器,则需要部署到you can by creating a web.xml file并执行
spark.servlet.SparkApplication
.
编辑:您缺少Web.xml中的applicationClass属性.
原文地址:https://www.jb51.cc/java/437277.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。