我在带有 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:runtomcat常规部署没有的吗?这怎么可能在我的虚拟机中没有发生?这些课程不应该都在WAR中吗?
编辑:
这是另一个提示。当我在 Ubuntu VM 中运行从 WAR 导入的项目时,无论是使用 Eclipse 中的 Jetty 还是将其添加到 webapps 文件夹中,它都可以正常工作。
只有在失败时才在 Windows 主机环境上运行它。
cmd 上抛出的具体 NoClassdefFoundErrors 如下:
Caused by: java.lang.NoClassDefFoundError: org/ow2/frascati/explorer/
api/FraSCAtiExplorer
这是主要项目的模块之一。