我有一个类,我认为它引用了外部库文件的一些依赖性问题。每次我尝试在服务器上运行它时,我都会收到错误,说找不到类。比如:
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>类路径>并在那里添加罐子?我以前没有必要为任何其他库做这个。
答案 0 :(得分:0)
我发现在服务器上的glassfish识别之前,你必须在Glassfish / domain / lib目录中添加任何库文件。