无法在远程服务器上运行Vaadin应用程序

时间:2017-11-04 02:10:54

标签: java eclipse maven vaadin vaadin7

我正在使用Java构建Vaadin应用程序。这是文件夹结构。

- com
-- my
--- WebTool
---- ToolUI.java
---- View_1.java
---- View_2.java

应用程序的入口点是 ToolUI.java ,其方法是 init(),它将 VaadinRequest 作为参数。我在此文件中添加了视图 Views_1 View_2 作为应用程序的视图,并在其中添加了导航。当我通过Eclipse IDE运行应用程序时,一切都运行良好。

现在我要求我必须在远程服务器上部署此应用程序。所以我创建了一个项目的战争,并通过名称部署在服务器上 MyWebTool.war。

现在,当我尝试使用命令

运行战争时
java -jar MyWebTool.war

它给了我错误:无法执行war没有主要的清单属性,在MyWebTool.war中

我不确定要添加主类,因为调用了init方法并将应用程序设置为运行。所以我在MyWebToolUI.java中放了一个空的main函数,并在pom.xml文件中添加了这个依赖项。

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.6</version>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>com.my.WebTool.ToolUI</mainClass>
            </manifest>
        </archive>
      <failOnMissingWebXml>false</failOnMissingWebXml>
      <!-- Exclude an unnecessary file generated by the GWT compiler. -->
      <packagingExcludes>WEB-INF/classes/VAADIN/widgetsets/WEB-INF/**</packagingExcludes>
    </configuration>
</plugin>

但是现在当试图运行应用程序时,它说无法找到或加载主类com.my.WebTool.ToolUI

有人可以解释一下吗?我不知道我是否遗漏了一些简单的东西,但在这一点上,我被困住了。非常感谢。

1 个答案:

答案 0 :(得分:1)

要运行war包装的应用程序,您需要servlet container。 servlet容器提供运行基于java的Web应用程序所需的所有基本基础结构。

执行此操作的最常见方法之一是将deploy war文件发送到tomcat安装。