Библиотека классов по умолчанию, не включающая com.sun.cnpi.rss? - PullRequest
1 голос
/ 09 июля 2010

Я использую eclipse для написания функции-обёртки парсера RSS, и она возвращает ожидаемые значения при запуске из eclipse.

package rss_parser_wrapper;

import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Collection;
import java.util.Iterator;

import com.sun.cnpi.rss.elements.Item;
import com.sun.cnpi.rss.elements.Rss;
import com.sun.cnpi.rss.parser.RssParser;
import com.sun.cnpi.rss.parser.RssParserException;
import com.sun.cnpi.rss.parser.RssParserFactory;


public class RssParserWrapper {

    public static Rss getRss(String url) throws RssParserException, MalformedURLException, IOException {
        RssParser parser = RssParserFactory.createDefault();
        Rss rss = parser.parse(new URL(url));
        return rss;
    }
}

Итак, теперь мне нужно скомпилировать это, чтобы нажать навеб-сервер tomcat.

Я попытался скомпилировать из каталога из моего текущего каталога (классы):

javac -cp . -target 1.5 -source 1.5 rss_parser_wrapper/RssParserWrapper.java

Я получаю сообщение об ошибке:

makun /home/makun/tomcat/apache-tomcat-6.0.26/webapps/head_first/WEB-INF/classes ->javac -cp . -source 1.5 -target 1.5 rss_parser_wrapper/RssParserWrapper.java 
rss_parser_wrapper/RssParserWrapper.java:9: package com.sun.cnpi.rss.elements does not exist
import com.sun.cnpi.rss.elements.Channel;
                                ^
rss_parser_wrapper/RssParserWrapper.java:10: package com.sun.cnpi.rss.elements does not exist
import com.sun.cnpi.rss.elements.Item;
                                ^
rss_parser_wrapper/RssParserWrapper.java:11: package com.sun.cnpi.rss.elements does not exist
import com.sun.cnpi.rss.elements.Rss;
                                ^
rss_parser_wrapper/RssParserWrapper.java:12: package com.sun.cnpi.rss.parser does not exist
import com.sun.cnpi.rss.parser.RssParser;
                              ^
rss_parser_wrapper/RssParserWrapper.java:13: package com.sun.cnpi.rss.parser does not exist

Делает ли этозначит библиотека классов Java не имеет этих классов?Почему это не жалуется, когда я запускаю файл из eclipse?

1 Ответ

1 голос
/ 09 июля 2010

Вам необходимо добавить путь к файлу JAR, содержащему библиотеку RSS, к пути к классам.

javac -cp .:/path/to/rss.jar -target 1.5 -source 1.5 rss_parser_wrapper/RssParserWrapper.java

Он работает в Eclipse, потому что он достаточно умен, чтобы включать необходимые библиотеки в путь к классам (на основе настроенногопуть к проекту).

...