У меня есть класс, который, как мне кажется, имеет некоторые проблемы с зависимостями, ссылающиеся на файлы внешних библиотек. Каждый раз, когда я пытаюсь запустить это на сервере, я получаю сообщения о том, что класс не найден. такие как это:
SEVERE: класс [org / json / JSONException] не найден. Ошибка при загрузке [класс com.myproj.logic.Driver]
это препятствует выполнению класса. Я попытался выполнить конкретное исключение бросков, просто сказав «исключение бросков», и получил следующую ошибку:
ПРЕДУПРЕЖДЕНИЕ: системное исключение произошло во время вызова метода EJB Driver public void com..logic.Driver.initURL () throws 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 распознал эти библиотеки. Проблема возникает во время исполнения, поэтому я думаю, что-то не так.
Должен ли я редактировать classpath в Windows> «Установки»> «Java»> «Classpath» и добавлять туда «Jar»? Я не должен был делать это ни для каких других библиотек.