【问题标题】:Is my Java app running on OpenShift我的 Java 应用程序是否在 OpenShift 上运行
【发布时间】:2015-08-08 03:16:29
【问题描述】:

我刚刚开始使用服务器应用程序和云服务,并且已经注册了 OpenShift。

我已经使用 Tomcat 7 墨盒成功设置了所有内容,并将我的第一个(非常简单的)代码推送到了远程 Git 存储库。它可以编译和构建,但据我所知,当应用程序重新启动时,它不会运行。我检查了所有日志,没有错误。

我也尝试进入 repo 的目标文件夹并运行 java Main,但我收到此错误:

Exception in thread "main" java.lang.NoClassDefFoundError: Main (wrong name: helloworld/Main)

即使 Main.class 文件就在那里。

类如下:

public class Main
{

  public static void main(String[] args)
  {
      System.out.println("It works!");
  }   
}

我显然遗漏了一些东西,并且我搜索了大多数类似的答案都无济于事 - 有人可以告诉我我做错了什么吗?

【问题讨论】:

    标签: java tomcat openshift


    【解决方案1】:

    您不能在任何应用服务器环境(如 Tomcat、Jboss、Glassfish 等)中运行静态 main 方法(任何 java 应用程序入口点)。应用程序容器搜索从 HttpServlet 派生的类(大多数情况下),换句话说:您的类必须继承 javax.servlet.http.HttpServlet

    正如您在异常中看到的:一个 java 线程已经在运行,因此启动了所需的第一个 main 方法(应用程序入口点)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-18
      • 2015-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多