Класс Java не обнаружил ошибок во время работы - PullRequest
0 голосов
/ 13 декабря 2011

У меня есть класс, который, как мне кажется, имеет некоторые проблемы с зависимостями, ссылающиеся на файлы внешних библиотек. Каждый раз, когда я пытаюсь запустить это на сервере, я получаю сообщения о том, что класс не найден. такие как это:

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»? Я не должен был делать это ни для каких других библиотек.

1 Ответ

0 голосов
/ 14 декабря 2011

Я обнаружил, что вам нужно добавить любые библиотечные файлы в каталог Glassfish / domain / lib, прежде чем они будут распознаваться glassfish на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...