我的Java应用程序是否在OpenShift上运行

时间:2015-08-07 15:49:18

标签: java tomcat openshift

我刚刚开始使用服务器应用程序和云服务,并已注册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!");
  }   
}

我显然遗漏了一些东西而且我搜索了大部分相似的答案都没有用 - 有人能告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

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

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