我正在使用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
有人可以解释一下吗?我不知道我是否遗漏了一些简单的东西,但在这一点上,我被困住了。非常感谢。