【问题标题】:LuceneAppEngine dependency with GradleLuceneAppEngine 与 Gradle 的依赖关系
【发布时间】:2015-04-19 20:30:28
【问题描述】:

我一直在尝试使用Lucene-Appengine project。由于我使用的是android studio,所以我转到maven and I found并将依赖项添加到我的gradle文件中

编译'com.googlecode.luceneappengine:luceneappengine:2.0.0'

所以是的,我对 gradle 很陌生(几天)。但我的印象是 gradle 将拉取被拉取项目所需的所有进一步依赖项。但是当我查看我的文件时,我仍然缺少 lucene 的东西,例如

import org.apache.lucene.analysis.standard.StandardAnalyzer;
import org.apache.lucene.document.Document;
import org.apache.lucene.index.DirectoryReader;
import org.apache.lucene.index.IndexNotFoundException;
import org.apache.lucene.index.IndexReader;
import org.apache.lucene.index.IndexWriter;
import org.apache.lucene.index.IndexWriterConfig;
import org.apache.lucene.queryparser.classic.MultiFieldQueryParser;
import org.apache.lucene.queryparser.classic.ParseException;
import org.apache.lucene.queryparser.classic.QueryParser;
import org.apache.lucene.search.IndexSearcher;
import org.apache.lucene.search.Query;
import org.apache.lucene.search.ScoreDoc;
import org.apache.lucene.search.TopScoreDocCollector;

我做错了什么?我执行 Lucene-Appengine 项目错了吗?我需要自己获取 Lucene 依赖项吗?我想以正确的方式做到这一点。谢谢。

【问题讨论】:

    标签: java google-app-engine android-studio gradle lucene


    【解决方案1】:

    那么 gradle 只会拉下它所知道的。如果您查看maven repository site you linked to,它将向您显示该依赖项所依赖的内容。

    或者你可以看看你认为它应该为你的依赖抓取什么等级

    ./gradlew dependencies
    

    在一个只有 luceneappengine 依赖的空项目上,结果是

    compile - Compile classpath for source set 'main'.
    \--- com.googlecode.luceneappengine:luceneappengine:2.0.0
         +--- javax.persistence:persistence-api:1.0.2
         +--- com.google.appengine:appengine-api-1.0-sdk:1.9.4
         +--- com.googlecode.objectify:objectify:5.0.2
         |    \--- com.google.guava:guava:14.0.1
         \--- org.slf4j:slf4j-api:1.7.7
    

    从外观上看,您可能必须显式添加 lucene 依赖项。

    虽然我不知道 lucene,但这个依赖项应该做什么?

    【讨论】:

      【解决方案2】:

      您需要按照wiki page 中的指定显式添加lucene-core 依赖项(到等效的gradle 导入语法中)。可能您需要添加应用程序所需的其他工件,例如:lucene-queries、lucene-queryparser、lucene-analyzers-common,但luceneappengine 本身不需要它们。 请务必使用相同的 Lucene 版本添加每个工件并尊重 compatibility notes。

      你可以找到一个完整的例子here(总是maven)。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-01-19
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-10-29
        • 1970-01-01
        相关资源
        最近更新 更多