java - 使用依赖的一小部分有意义吗?

标签 java maven dependencies

我正在使用 Google Directions API 获取两点之间的路线。目前,我只是向 API 端点发送 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 是加载整个依赖项,还是只加载我实际使用的部分?

谢谢!

最佳答案

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

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

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

关于java - 使用依赖的一小部分有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55490131/

相关文章:

Maven:无法传输文件 XXX 返回代码为:501,ReasonPhrase:需要 HTTPS

node.js - package.json 中定义的 Webpack Typescript 相对依赖关系

java - 如何解决 POM 中没有relativePath 的模块依赖关系?

java - 如果 Annotation 是一个接口(interface),那么它如何扩展一个 Object 类?

java - 在android中将布局文件转换为Java

maven - 如何对 Maven POM 文件的一部分中的依赖项进行排序

java - 如何在复杂项目中包含属性文件

java - 尝试导出简单接口(interface)时 Unresolved 约束

java - 如何在 Gmail 中获取完整的邮件正文?

java - 具有任意 JSON 键的 Jackson ObjectMapper