使用一小部分依赖是否有意义?

时间:2019-04-03 08:11:04

标签: java maven dependencies

我正在使用Google Directions API来获取两点之间的路线。目前,我只是向HTTP端点发送HTTP请求,如下所示:

URL url;
URLConnection request;
    try {
        url = new URL(
            "https://maps.googleapis.com/maps/api/directions/json" +
            "?origin=Alzenau" +
            "&destination=Dortmund&" +
            "key=xxxxxxxxxxxx"
        );

        request = url.openConnection();
        request.connect();

        // Convert to a JSON object
        JsonParser jp = new JsonParser();
        JsonElement root = jp.parse(new InputStreamReader((InputStream) request.getContent()));
        JsonObject rootobj = root.getAsJsonObject();

        ConvertRoutes(rootobj);
    } catch (IOException ex) {
        ex.printStackTrace();
    }

但是,有一个Google依赖项可以用来实现相同的目的:https://mvnrepository.com/artifact/com.google.maps/google-maps-services/0.9.3

此依赖项包含所有Google Maps API(方向,地方等)

我的问题:当我仅使用Google的一小部分功能时,使用它的依赖关系有意义吗? Java会加载整个依赖关系,还是仅加载我实际使用的部分?

谢谢!

1 个答案:

答案 0 :(得分:1)

这不是一个明确的是/否决定。

如果仅调用一个http接口,并且您的应用程序运行良好(并且速度足够快),则没有真正的理由对其进行更改。

使用Java API可能会使您的代码更小(并且具有类型安全性),但是您需要检查该API的依赖关系树。如果它包含您的依赖关系树中已经具有的依赖关系,则由于相同工件的不同版本,您可能会遇到冲突。