gpt4 book ai didi

java - jar 配置及其内容

转载 作者:行者123 更新时间:2023-12-02 07:57:51 25 4
gpt4 key购买 nike

在下载 Google Guice 时,我注意到其 downloads page 上提供了两种主要“类型”的 Artifact 。 :

  • guice-3.0.zip;和
  • guice-3.0-src.zip

下载它们并检查其内容后,它们似乎是 Guice 3.0 版本的两个完全不同的“视角”。

guice-3.0.zip 仅包含 Guice jar 及其依赖项。然而,guice-3.0-src.zip 并不包含实际的 Guice jar,但它确实包含各种其他优点:javadocs、示例等。

所以这让我想到:在 Java 项目中发布的 jar 一定有不同的“配置”。将这个想法与我从 Ivy(具有 Artifact 配置的概念)和 Maven(具有 Artifact 范围的概念)等构建工具中所知甚少的知识相结合,我发现想知道 Artifact 配置/范围和最终可交付成果(jar)之间的关系是什么。

假设我正在制作一个名为 my-utils.jar 的实用程序 jar。在它的 Ivy 描述符中,我可以引用 log4j 作为编译时依赖项,并将 junit 作为测试依赖项。然后我可以指定在构建时解析这两个“配置”中的哪一个。

我想知道的是:这些配置和最终结果中生成的 jar 内容之间的“映射”是什么?

例如,我可能会将所有 compile 配置依赖项打包到主 my-utils.jar 中,但是是否有理由打包我的test 依赖项到 my-utils-test.jar 中? my-utils-src.jar 中会包含什么样的依赖项?

我知道这些都是很多小问题,所以我想你可以将所有内容总结如下:

  • 对于一个大型项目,发布的 jar 包有哪些典型类型(例如 guice-3.0.zipguice-3.0-src.zip 等) .),每个内容的典型内容是什么,它们如何映射回 Ivy 配置或 Maven 范围的概念?

最佳答案

您需要运行的是guice-3.0.zip。它具有正确的包结构中的 .class 文件。

另一个 JAR,guice-3.0-src.zip,包含 .java 源文件和其他您可能觉得有用的东西。智能 IDE(例如 IntelliJ)可以使用源 JAR 来允许您使用调试器单步执行 Guice 代码并查看发生了什么。

通过阅读 Guice 源代码,您还可以学到很多东西。它有助于了解比你我更聪明的开发人员如何编写代码。

我想说我找到的最好的例子是 Efficient Java Matrix Library在谷歌代码。它有一个广泛的 JUnit 测试套件,可以与源代码、文档以及您需要的其他所有内容一起使用。我认为这是最令人印象深刻的。我想自己模仿一下。

关于java - jar 配置及其内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9387327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com