无法使用命令提示符嵌入tomcat war文件

时间:2016-10-26 08:57:31

标签: spring spring-mvc

我已经开始将嵌入式tomcat添加到我们的spring web应用程序中。它在日食中工作得很好。 现在我正在尝试使用命令提示符启动应用程序,它正在给予 以下异常

没有主要的清单属性,按顺序 - spring-mvc-web-1.0-SNAPSHOT.war

在我的pom.xml文件中如下

<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-core</artifactId>
    <version>${tomcat.version}</version>
     <scope>provided</scope>   
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-logging-juli</artifactId>
    <version>${tomcat.version}</version>
     <scope>provided</scope>   
</dependency>
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <version>${tomcat.version}</version>
     <scope>provided</scope>   
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jasper</artifactId>
    <version>${tomcat.version}</version>
     <scope>provided</scope>   
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jasper-el</artifactId>
    <version>${tomcat.version}</version>
     <scope>provided</scope>   
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-jsp-api</artifactId>
    <version>${tomcat.version}</version>
     <scope>provided</scope>   
</dependency>

我的主要课程如下

 public class EmbeddedTomcatMain {

        public static void main(String[] args) throws Exception {

            String webappDirLocation = "src/main/webapp/";
            Tomcat tomcat = new Tomcat();
            String webPort = System.getenv("PORT");
            if(webPort == null || webPort.isEmpty()) {
                webPort = "8080";
            }

            tomcat.setPort(Integer.valueOf(webPort));

            StandardContext ctx = (StandardContext) tomcat.addWebapp("/", new File(webappDirLocation).getAbsolutePath());
            System.out.println("configuring app with basedir: " + new File("./" + webappDirLocation).getAbsolutePath());
            File additionWebInfClasses = new File("target/classes");
            WebResourceRoot resources = new StandardRoot(ctx);
            resources.addPreResources(new DirResourceSet(resources, "/WEB-INF/classes",
                    additionWebInfClasses.getAbsolutePath(), "/"));
            ctx.setResources(resources);

            tomcat.start();
            tomcat.getServer().await();
        }

    }

它只创建一个war文件。

0 个答案:

没有答案