我意识到这更多是语义上的追求,而不是功能上的追求。
我有三种类型的编译范围依赖项:
仅编译范围,不在运行时使用。GWT 客户端开发、MVP4G、RestyGWT、源保留注释处理器。我使用 REST,所以我不需要 GWT 服务器端。
提供 - 编译所需的 Hibernate jar,但由 JBoss 提供。
编译 + 运行时 jar。
对于案例 2,我们可以使用提供的范围。案例 3,我们将使用编译范围。
但是对于案例 1,我使用提供的范围,即使 JBoss 根本不提供这些文件。在运行时也不需要它们。
无论如何,你不认为 Maven 应该为除了编译时不需要人工制品的范围提供“提供”的同义词吗?也许,应该有一个“只编译”的范围吗?