gradle multi project - 依赖项不起作用

时间:2017-05-23 05:38:03

标签: java spring gradle dependency-management transitive-dependency

我有2个项目,项目A和项目B.两个项目都是单独的git存储库中的gradle项目。 项目B使用elasticsearch-rest-api jar,并包含在依赖项中,如下所示:

    public static void WebRequest()
    {
        string WEBSERVICE_URL = "https://jsonwhoisapi.com/api/v1/whois?identifier=google.com";
        try
        {
            var webRequest = System.Net.WebRequest.Create(WEBSERVICE_URL);
            if (webRequest != null)
            {
                webRequest.Method = "GET";
                webRequest.Timeout = 20000;
                webRequest.ContentType = "application/json";
                webRequest.Headers.Add("userid:apikey");
                using (System.IO.Stream s = webRequest.GetResponse().GetResponseStream())
                {
                    using (System.IO.StreamReader sr = new System.IO.StreamReader(s))
                    {
                        var jsonResponse = sr.ReadToEnd();
                        Console.WriteLine(String.Format("Response: {0}", jsonResponse));
                    }
                }
            }
        }
        catch (Exception ex)
        {
            Console.WriteLine(ex.ToString());
        }
    }

项目A使用项目B,项目B作为依赖项添加到项目A,如下所示:

dependencies {
    compile "org.elasticsearch.client:rest:5.4.0",
            "org.elasticsearch.client:sniffer:5.4.0"
}

当我刷新项目A的gradle依赖项时,“Project and External Dependencies”中只有Project B jar可用。我无法在Project A依赖项中看到弹性客户端休息和嗅探器。

因此,当我启动Project A spring启动应用程序时,它会抛出以下错误:

错误o.s.b.SpringApplication [main]应用程序启动失败org.springframework.beans.factory.BeanDefinitionStoreException:无法解析配置类[com.discover.paymentservices.dnfraud.pads.txnprocessor.PadsTransactionProcessorApplication];嵌套异常是java.io.FileNotFoundException:类路径资源[org / elasticsearch / client / RestClient $ FailureListener.class]无法打开,因为它不存在     在org.springframework.context.annotation.ConfigurationClassParser.parse(ConfigurationClassParser.java:182)

根据我的理解,项目B中的项目B依赖项也将默认可用,因为项目B被添加为项目A的依赖项。

我尝试了很多选项,包括仅编译时间和provideRuntime等无法找出问题。任何人都可以就此提供意见。非常感谢。

0 个答案:

没有答案