从命令行将简单的HttpServlet部署到TomEE

时间:2015-11-07 11:24:37

标签: java java-ee deployment command-line tomee

我试图使用命令行将一个非常简单的HttpServlet部署到TomEE 1.7.2,但我没有运气。代码如下所示:

javac -cp "$TOMEE/lib/*" SimpleHttpServlet.java

我使用以下命令编译该类:

warning: Supported source version 'RELEASE_6' from annotation processor 'org.apache.openjpa.persistence.meta.AnnotationProcessor6' less than -source '1.8'
1 warning

所有看起来都很好,因为我只收到以下警告:

jar cf SimpleHttpServlet.war SimpleHttpServlet.class

要制造战争,请执行以下操作:

bin/startup.sh

我使用bin/tomee.sh deploy path/to/my/SimpleHttpServlet.war 启动TomEE并使用:

部署我的战争
deploying /.../SimpleHttpServlet.war
Nov 05, 2015 5:39:50 PM org.apache.openejb.client.EventLogger log
INFO: RemoteInitialContextCreated{providerUri=http://localhost:8080/tomee/ejb}
Application deployed successfully at "/.../SimpleHttpServlet.war"
App(id=/.../apache-tomee-plus-1.7.2/apps/SimpleHttpServlet)
    EjbJar(id=SimpleHttpServlet, path=/.../apache-tomee-plus-1.7.2/apps/SimpleHttpServlet)
    WebApp(context-root=/SimpleHttpServlet, id=SimpleHttpServlet, path=/.../apache-tomee-plus-1.7.2/apps/SimpleHttpServlet)

我得到以下输出:

HTTP Status 404 - /SimpleHttpServlet/HttpServlet/
type Status report
message /SimpleHttpServlet/HttpServlet/
description The requested resource is not available.
Apache Tomcat (TomEE)/7.0.62 (1.7.2)

如果我去http://localhost:8080/manager/html我可以看到我的战争,一切看起来都不错。但是,当我去http://localhost:8080/SimpleHttpServlet/HttpServlet时,我从TomEE那里得到了404:

web.xml

根据我的理解,@WebServlet在使用{{1}}时不是强制性的。我错过了什么?

谢谢!

NYG

1 个答案:

答案 0 :(得分:0)

war file的布局不正确。您的servlet的类文件现在位于/但必须位于/WEB-INF/classes