运行时未找到Java类错误

时间:2011-12-13 17:24:12

标签: java eclipse java-ee

我有一个类,我认为它引用了外部库文件的一些依赖性问题。每次我尝试在服务器上运行它时,我都会收到错误,说找不到类。比如:

  

SEVERE:找不到类[org / json / JSONException]。加载[class com.myproj.logic.Driver]

时出错

这阻止了类的执行。我尝试通过只说“抛出异常”取出特定的抛出execption并得到以下错误:

  

警告:在EJB驱动程序方法调用期间发生系统异常public void com..logic.Driver.initURL()抛出java.lang.Exception   javax.ejb.EJBException:javax.ejb.CreateException:Singleton驱动程序的初始化失败

     

引起:java.lang.ClassNotFoundException:org.apache.commons.io.IOUtils

@Singleton
public class Driver {

@EJB RSSbean rssbean;    

@PostConstruct
@Schedule(hour ="*/1", minute ="*/1", second ="*/1", persistent = false)
public void initURL() throws IOException, JSONException{

    URL twitterSource = new URL("http://search.twitter.com/search.json?q=news");
    ByteArrayOutputStream urlOutputStream = new ByteArrayOutputStream();

                IOUtils.copy(twitterSource.openStream(), urlOutputStream);
                String urlContents = urlOutputStream.toString();
                JSONObject thisobject = new JSONObject(urlContents);
                JSONArray names = thisobject.names();
                JSONArray asArray = thisobject.toJSONArray(names);
                JSONArray resultsArray = thisobject.getJSONArray("results");

           JSONObject jsonObject = resultsArray.getJSONObject(0);

            String twitterText = jsonObject.getString("text");

            //System.out.println(twitterText);
            System.out.println("Calling rssbean from Driver");
            rssbean.updateDatabase("twitterText");

}
}  

我编辑了Java类路径,并为每个类路径添加了一个用户库,以及编辑项目的构建路径。这些库显示在列表中,我没有遇到编译器错误,因此至少Eclipse已经识别了这些库。问题出现在执行期间,所以我觉得有些问题。

我应该在Windows中编辑类路径>首选项> Java>类路径>并在那里添加罐子?我以前没有必要为任何其他库做这个。

1 个答案:

答案 0 :(得分:0)

我发现在服务器上的glassfish识别之前,你必须在Glassfish / domain / lib目录中添加任何库文件。