我刚刚开始使用服务器应用程序和云服务,并已注册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!");
}
}
我显然遗漏了一些东西而且我搜索了大部分相似的答案都没有用 - 有人能告诉我我做错了吗?
答案 0 :(得分:1)
您无法在任何应用程序服务器环境(例如Tomcat,Jboss,Glassfish等)中运行静态main方法(任何Java应用程序入口点)。应用程序容器搜索从HttpServlet派生的类(大多数时候),换句话说:您的类必须继承javax.servlet.http.HttpServlet
。
正如您在异常中看到的那样:java线程已经在运行,因此启动了所需的第一个主要方法(应用程序入口点)。