java - 使用 Java 9 模块和 Maven 进行 IntelliJ 依赖管理 - 我做错了什么?
问题描述
我对 Java 还是很陌生,并且正在尝试为 Java 9 模块结构重构我的 Java 项目之一,似乎我需要完全手动完成所有操作。我希望我只是以正确的方式在某处遗漏了一些步骤来处理我的依赖项:
旧方式(Java 8 及更早版本)
- 我创建我的项目。
- 我将我的依赖项添加到 pom
- 我编码。
- 我编译。
新方式(模块)?
- 我创建我的项目。
- 我创建我的模块。
- 我创建了一个项目级别的 .pom,它定义了我对所有模块的依赖关系
- 我手动将每个依赖项添加到将要使用的每个模块。如果我需要更新依赖项,我会在更新 Maven .pom 后从每个模块中删除旧的依赖项并放入新的依赖项(这意味着有人克隆我的项目from git 还必须弄清楚所有依赖项,因为 .iml 文件不仅仅是依赖项列表,而且通常不会放在 git 上)
- 我手动将模块可能需要的每个可能的包添加到模块信息文件中,因为没有自动完成功能,否则,如果依赖项发生更改,再次手动更新需求语句列表。
- 我编码。
- 我从模块信息文件中删除了所有未使用的包。
- 我编译代码。
这似乎效率低下。我应该这样做有更好/正确的方法吗?这是他们的文档表明我应该使用的过程。(见:https ://www.jetbrains.com/help/idea/creating-and-managing-modules.html#working-with-module-dependencies )
是的,我知道我不必手动添加所有包,只需在命令行上搜索即可确定我要使用的类的位置,但这需要更长的时间。
解决方案
推荐阅读
- ios - 如果应用程序不在前台,DownloadTask 在作为后台获取的一部分执行时会暂停?
- python - 如何计算标量和向量之间的余弦相似度?
- random - 在表中定义键时,为什么按随机顺序插入?
- c# - 我可以使用单个 json 文件创建多个不同类的实例吗?
- intellij-idea - 添加选定的*句子*以供下次出现
- c++ - 在 Vulkan 中实现“实例化渲染”的正确方法是什么?
- android - 我应该使用什么样的服务在后台访问传感器数据?
- javascript - 有没有办法在 Zapier GET 请求的操作步骤中捕获原始 webhook 有效负载?
- r - R:在特定选择的点/值处将列分成不同的子列
- django - 如何在 django 中以一种形式组合多个模型?