我有一个类,我认为有一些依赖问题引用外部库文件。每次我尝试在服务器上运行此操作时,都会收到错误,指出找不到类。如这样:
SEVERE: Class [ org/json/JSONException ] not found. Error while loading [ class com.myproj.logic.Driver ]
这阻止了类的执行。我试图通过只是说“抛出异常”取出具体的抛出错误,并得到以下错误:
WARNING: A system exception occurred during an invocation on EJB Driver method public void com..logic.Driver.initURL() throws java.lang.Exception
javax.ejb.EJBException: javax.ejb.CreateException: Initialization failed for Singleton Driver
Caused by: 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> Preferences> Java> Classpath>中编辑类路径,并在其中添加Jars?我以前不必为其他图书馆做这件事。