4

如何在 Intellij 中设置我的项目以使用ROME library读取 a RSS Feed

到目前为止,我已经开发了以下内容:

import com.sun.syndication.feed.synd.SyndFeed;
import com.sun.syndication.io.SyndFeedInput;
import com.sun.syndication.io.XmlReader;

import java.net.URL;

public class ReadRSS {

    public static void main(String[] args) {
        String urlString = "http://news.ycombinator.com/"
        boolean ok = false;
        if (args.length==1) {
            try {
                URL feedUrl = new URL(urlString);

                SyndFeedInput input = new SyndFeedInput();
                SyndFeed feed = input.build(new XmlReader(feedUrl));

                System.out.println(feed);

                ok = true;
            }
            catch (Exception ex) {
                ex.printStackTrace();
                System.out.println("ERROR: "+ex.getMessage());
            }
        }

        if (!ok) {
            System.out.println();
            System.out.println("FeedReader reads and prints any RSS/Atom feed type.");
            System.out.println("The first parameter must be the URL of the feed to read.");
            System.out.println();
        }
    }
}

但是,我在运行我的代码时遇到了多个错误,主要是变体:

.. java:package com.sun.syndication.feed.synd 不存在..

如何将包导入Intellij?设法在我的项目结构中导入这个我添加的 jar。

但是下一个问题是:我无法访问 org.jdom.Document - 尽管我已经在我的项目结构中安装了 jdom。我得到的错误是

错误:(16, 38) java: cannot access org.jdom.Document class file for org.jdom.Document not found

我该如何解决这个问题?

4

2 回答 2

3

如果您使用 Maven 或 gradle 在配置文件中添加依赖项(例如 Maven 中的 pom.xml)并执行构建/安装以下载您的依赖项。之后它应该可以正常工作。依赖信息在这里: http: //mvnrepository.com/artifact/rome/rome/0.9

否则,将 jar(可从上面的链接下载)手动添加到您的项目中。查看此问题中的第一个答案以了解如何执行此操作:将外部 jars (lib/*.jar) 添加到 IntelliJ IDEA 项目的正确方法

于 2015-08-21T05:27:36.800 回答
1

我是 ROME 团队的开发人员。最新版本是 ROME 1.5。它可以从中央 maven 存储库获得: http ://search.maven.org/#artifactdetails%7Ccom.rometools%7Crome%7C1.5.1%7Cjar

groupId 在 v1.5.0 中已更改为 com.rometools。#

我强烈建议您使用 Maven、Gradle 或其他能够解决传递依赖项的构建工具,这样您就不必手动收集所有依赖项。

于 2015-12-15T08:19:20.110 回答