在将我的应用程序部署到tomcat服务器时,我正面临以下错误:
2013-06-14 07:54:36 ErrorLogger [ERROR] Job (DEFAULT.NearByRioDeJaneiro threw an exception. org.quartz.SchedulerException: Job threw an unhandled exception. [See nested exception: java.lang.NoClassDefFoundError: Could not initialize class com.frrole.service.common.OAuthUtil] at org.quartz.core.JobRunShell.run(JobRunShell.java:224) at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:557) Caused by: java.lang.NoClassDefFoundError: Could not initialize class com.frrole.service.common.OAuthUtil at com.frrole.service.common.City._getTweetsByQueryObj(City.java:357) at com.frrole.service.common.City.getTweetsByGeoLocSearch(City.java:340) at com.frrole.service.api.TwitterSearch.nearbyLocationSearch(TwitterSearch.java:148) at com.frrole.service.imports.jobs.NearByRioDeJaneiro.execute(NearByRioDeJaneiro.java:14) at org.quartz.core.JobRunShell.run(JobRunShell.java:213)
从这个错误日志中可以看到,主要的问题是tomcat无法find: com.frrole.service.common.OAuthUtil类。 该类由_getTweetsByQueryObj类中的com.frrole.service.common.City方法引用。 因此,在执行此方法的某个地方,tomcat无法findOAuthUtil类。 OAuthUtil类在代码中定义了适当的包语句。 该应用程序也编译成功,否则ws.war不会产生。
令人困惑的部分是OAuthUtil类与City类在同一个包(和目录)中。 下面是tomcat的webapps文件夹的ws目录中的一个目录树。
root@servicesfrrole3:/usr/tomcat/apache-tomcat-7.0.25/webapps/ws/WEB-INF/classes/com/frrole/service/common# ls -l total 88 -rw-r--r-- 1 root root 12284 2013-06-14 13:15 City.class -rw-r--r-- 1 root root 21350 2013-06-14 13:15 DBUtil.class -rw-r--r-- 1 root root 1064 2013-06-14 13:15 Messages.class -rw-r--r-- 1 root root 2026 2013-06-14 13:15 OAuthUtil$_Accesstoken.class -rw-r--r-- 1 root root 2741 2013-06-14 13:15 OAuthUtil.class -rw-r--r-- 1 root root 1710 2013-06-14 13:15 ReTweet.class -rw-r--r-- 1 root root 1431 2013-06-14 13:15 sqlUtils.class -rw-r--r-- 1 root root 6397 2013-06-14 13:15 TimeAgo.class -rw-r--r-- 1 root root 3363 2013-06-14 13:15 Tweet.class -rw-r--r-- 1 root root 3730 2013-06-14 13:15 TweetUtil.class -rw-r--r-- 1 root root 5982 2013-06-14 13:15 TweetVO.class -rw-r--r-- 1 root root 1328 2013-06-14 13:15 TwitterResults.class -rw-r--r-- 1 root root 1941 2013-06-14 13:15 ViaTweet.class
正如可以看到的,显然有一个OAuthUtil.class驻留在与City.class相同的目录中 。 代码编译正确,在具有Java 7和Tomcat 7.0.40的本地主机上运行良好。 服务器上有Java 7和Tomcat 7.0.25。
IndexIgnore *或Options -Indexes
PHPfile upload – CGI上的内存处理
使用Apache,Django,pywin32,Python2.7和mod_wsgi找不到pywintypes27.dll
如何更改Apache的默认目录和索引文件(通过XAMPP安装)
在EC2的Apache实例上启用SSL
在部署应用程序时,我只是在本地主机上编译它,然后将ws.war文件复制到服务器的webapps目录中,接着从以前的应用程序中读取ws文件夹的rm -r,最后重新启动服务器。
如果有人对这里发生的事情有任何解释,请提供一些解决办法。
在Rails应用程序中将多个域名映射到不同的资源
Apache POI Word教程。
我可以强制Apache不包括失败的HTTP基本身份validation的WWW-Authenticate头?
Windows上的Hadoop安装
除了一个文件夹,htaccess将所有redirect到https到http
线索出现在例外消息中:
"Could not initialize class com.frrole.service.common.OAuthUtil"
实际发生的事情是以前在某些类初始化程序中发生了错误。 (也许是OAuthUtil类本身,或者是其他依赖的其他类)。如果回顾一下日志文件,您应该看到异常。
现在你已经执行了一些代码,这些代码依赖于那个先前初始化失败的类。 结果是这个例外。
如果在日志文件中找不到以前的异常,则可能是由于异常被“压扁”,或者由于应用程序未定义默认的未捕获异常处理程序而导致某个线程死亡而丢失。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。