【问题标题】:how do I integrate hosebird client library to a Grails project?如何将软管鸟客户端库集成到 Grails 项目中?
【发布时间】:2015-01-04 17:00:50
【问题描述】:

我的目标是使用 Twitter 提供的 hosebird client 在我的 Grails 项目中流式传输推文。

我真的不确定我将如何处理这个问题,但我首先尝试将它包含在我的 BuildConfig.groovy 的依赖项中,如下所示:

dependencies {
    compile 'com.twitter:hbc-core:2.2.0'
}

然后,当我尝试在我的 TwitterService.groovy 中模仿示例代码 FilterStreamExample.java 时,GGTS(IDE)在我编写这些代码行时只会显示错误:

import com.google.common.collect.Lists
import com.twitter.hbc.ClientBuilder
import com.twitter.hbc.core.Client
import com.twitter.hbc.core.Constants
import com.twitter.hbc.core.endpoint.StatusesFilterEndpoint
import com.twitter.hbc.core.processor.StringDelimitedProcessor
import com.twitter.hbc.httpclient.auth.Authentication
import com.twitter.hbc.httpclient.auth.OAuth1

显然,由于编译时错误,这使我无法运行代码。它只是告诉错误是“Groovy 无法解决”。

你能告诉我我错过了什么吗?

这只是一个我没有注意到的常规语法错误吗?我是 Groovy 的新手,所以请多多包涵。

这里的问题是在依赖项中包含库吗?

我的第一个目标是能够像上面所说的那样(BuildConfig 方式)尝试制作 jar 并将其放入 src/java.xml 之前以这种方式使用该库。谁知道,编译时错误也会出现。我只是想知道我所做的方法中的当前障碍是否容易解决。

【问题讨论】:

    标签: grails dependency-management twitter-hbc


    【解决方案1】:

    GGTS 和 STS 不解析 BuildConfig.groovy - 它们从 Grails 获取所有类路径信息。当您使用新插件或 jar 依赖项更新 BuildConfig.groovy 时,右键单击左侧树中的项目节点并选择 Grails Tools | Refresh Dependencies 和 GGTS 将根据应用的当前状态重建其类路径。

    【讨论】:

    • 感谢您的回复。我尝试刷新依赖项,它消失了。只是一个简单的问题......每当我在依赖项中包含一些内容时,我真的需要总是像这样刷新它吗?当我“grails run-app”项目时它不会自动加载吗?
    • 这将导致 Grails 更新,但 STS/GGTS 不会意识到这一点。即使您从 IDE 内部运行 Grails,或者运行测试、脚本、向导等,IDE 所做的只是在新的 JVM 中启动一个进程并捕获输出。在某些情况下,它会做得更多,例如它使用测试侦听器来更新 JUnit 视图以进行测试,并按照我所描述的那样更新其依赖项。但总的来说,它只是运行一个进程并捕获输出。
    • 好的。我想我在使用 Grails 时必须小心依赖 GGTS。即使即使没有 IDE 也可以舒适地使用 Grails,但这只是我开始使用 IDE 学习和使用框架。无论如何,谢谢。
    猜你喜欢
    • 1970-01-01
    • 2013-09-03
    • 1970-01-01
    • 1970-01-01
    • 2013-06-27
    • 1970-01-01
    • 1970-01-01
    • 2013-05-04
    • 2015-03-29
    相关资源
    最近更新 更多