我在带有 Ubuntu 的虚拟机中有一个子项目,我用 Maven 编译然后运行mvn jetty:run.
Maven 也将其打包为一个战争。
所有这些都可以正常工作并且可以达到预期的效果。
我正在尝试从 Windows 中的另一个 Eclipse 导入这个 WAR,所以我已经完成了它Import -> WAR
,从而创建了一个 Web 应用程序。
我现在想从 Eclipse 运行它,所以我创建了一个新的 Jetty 服务器并运行我的应用程序,Run on Server
但我得到了Could not find the main class
.
这样做的正确方法是什么?
此外,我尝试通过将应用程序放在 webapps Tomcat 目录中来部署应用程序。我可以在 Tomcat GUI 中看到它并启动 index.html 但是当我尝试访问它抛出的一些服务时No service was found
部署时,在 Tomcat 控制台中,我可以看到运行时 NoClassDefFoundErrors。
有什么是mvn jetty:run
tomcat常规部署没有的吗?这怎么可能在我的虚拟机中没有发生?这些课程不应该都在WAR中吗?
编辑:
这是另一个提示。当我在 Ubuntu VM 中运行从 WAR 导入的项目时,无论是使用 Eclipse 中的 Jetty 还是将其添加到 webapps 文件夹中,它都可以正常工作。
只有在失败时才在 Windows 主机环境上运行它。
cmd 上抛出的具体 NoClassdefFoundErrors 如下:
Caused by: java.lang.NoClassDefFoundError: org/ow2/frascati/explorer/
api/FraSCAtiExplorer
这是主要项目的模块之一。