我使用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 web服务器。
我尝试从目前的目录(类)编译目录:
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运行文件时,为什么不抱怨?
答案 0 :(得分:1)
您需要将包含RSS库的JAR文件的路径添加到类路径中。
javac -cp .:/path/to/rss.jar -target 1.5 -source 1.5 rss_parser_wrapper/RssParserWrapper.java
它适用于Eclipse,因为它足够聪明,可以在类路径中包含必要的库(基于配置的项目的构建路径)。