【问题标题】:Import an Maven dependency (Example Jsoup.jar)导入 Maven 依赖项(示例 Jsoup.jar)
【发布时间】:2014-06-19 10:32:05
【问题描述】:

我对@9​​87654321@ 中的 Maven-Dependency 问题有一个大致的了解。 我想将jsoup - 功能导入我的项目。

因此我在我的BuildConfig.groovy 中这样做了:

 dependencies {
.
.
        /// jsoup
        compile  "org.jsoup:jsoup:1.7.3"            
}

一切都好。 Grails 将 jar 文件下载到我的本地仓库中

C:\Users\xxx\.m2\repository\org\jsoup\jsoup\1.7.3

现在我的困惑。我认为一切都已完成,我可以针对 Jsoup 编写代码,但这是错误的。我必须

  • 将jar文件复制到Grails-lib文件夹中
  • 设置 Jsoup.jar 的构建路径
  • 执行“grails 编译”

这是正确的方法吗?
为什么当 grails 不使用依赖项时我要配置依赖项?
似乎有一个插件(编译“:html-cleaner:0.2”)包含Jsoup,但是当我需要Jsoup时,我使用Jsoup而不是html-cleaner。

当我在没有我的步骤的情况下执行此操作时,我得到了一个编译器错误:

package f

import grails.transaction.Transactional
import org.jsoup.Jsoup;
import org.jsoup.nodes.Document
/***
 * 
 * @author MG
 *
 */
//@Transactional
class xyService {

    def getXyFromIndex(String searchKeyword) {
        def html  = ""
        Document doc = Jsoup.parse(html);       

    }
}

==> 'Groovy:无法解析类 org.jsoup.nodes.Document' -GGTS 3.5.1

【问题讨论】:

  • 将依赖项添加到BuildConfig.groovy 是这样做的方法。请提供您使用 jsoup 的代码,并请提供您的编译错误。
  • 结果是编译器错误 (GGTS 3.5.1) 'Groovy:unable to resolve class org.jsoup.nodes.Document'
  • 请将其添加到问题中。不作为评论
  • 如果你在命令行上运行grails clean-allgrails refresh-dependencies然后grails compile会发生什么?

标签: maven grails jsoup grails-2.3


【解决方案1】:

您不需要复制 jar,它应该由 ivy 或 maven 自动复制。建议使用 Maven,因此在 BuildConfig.groovy 中将解析器值更改为 maven,如下所示。现在,当您启动应用程序时,所有 jar 都会被复制到 .m2 目录中。

grails.project.dependency.resolver = "maven"

【讨论】:

  • 这是我的 BuildConfig.groovy-File 中的默认值 grails.project.dependency.resolver = "maven"
【解决方案2】:

您是否尝试在文件顶部导入 JSoup?

import org.jsoup.Jsoup
import org.jsoup.nodes.Document
import org.jsoup.nodes.Element
import org.jsoup.select.Elements
import org.jsoup.parser.Tag

@Transactional
class myClass {

}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2021-02-20
    • 2023-02-14
    • 2021-11-27
    • 2011-10-17
    • 2012-07-12
    相关资源
    最近更新 更多