作者:myq9395014 | 来源:互联网 | 2023-08-07 10:59
.jar和.
他们扮演着相同的角色,是的。
是。尽管JAR只是zip文件(您可以在自己喜欢的Zip工具中打开它们),所以它们实际上可以包含几乎所有内容。
JAR中允许使用任何文件类型。您的Java代码可以通过例如getResourceAsStream或getResource访问jar中文件的内容。显然,JAR中的.class文件是特殊处理的(作为字节码)。
上述包装相当普遍。有时人们使用 作为
的替代文件扩展名。我发现这种做法令人困惑,但这并不少见,在这种情况下,Amazon已经做到了。我认为,随着Maven的推出,这种做法变得越来越普遍,Maven将参考源代码存储在名为.jar的文件中。
aws-java-sdk-1.1.1.jar- 这是编译和执行所需的唯一文件。它包含库运行所需的类(.class文件)和资源。
aws-java-sdk-1.1.1-sources.jar-
这只是一个zip文件,其中包含该库的源代码(.java文件)。无需编译或执行。提供它是为了帮助您解决使用库时可能遇到的问题。您可以解压缩该文件并从硬盘驱动器中读取源代码。但是,您的IDE可能可以通过创建主库JAR的“源附件”直接使用此文件。通过在IDE中设置此library->
source关联,当您在库类上使用IDE的“转到定义”功能时,您的IDE将能够向您显示该库的源代码。
aws-java-sdk-1.1.1-javadoc.jar-
这只是一个zip文件,其中包含该库的JavaDoc。同样,没有必要进行编译或执行。JavaDoc只是HTML,因此您可以解压缩该文件并直接从硬盘驱动器读取JavaDoc
HTML。但是,大多数IDE都可以在主库中创建一个“
javadoc附件”,这使您可以从IDE中为该库提取上下文相关的JavaDoc。实际上,大多数IDE都可以从-
sources.jar即时生成JavaDoc,因此我很少再使用javadoc jar。
通常称为“将JAR添加到类路径”,但是可以。每当您构建或执行时,您几乎总是需要通过构造类路径来帮助Java查找正在使用的所有JAR。通常,与.NET中使用DLL相比,使用JAR和类路径是一个更加手动和明确的过程。例如:Java没有.NET的“全局程序集缓存”的直接等效项;同样,香草Java不会自动从工作目录中加载.jars。
还有一些其他技术可以创建更“自动”的感觉类路径,但是它们是高级的:例如,Manifest.MF类路径是可能的-但这种方法不方便使用,因为它很脆弱。从Java
6开始,Java对在classpath中使用通配符的支持有限。
这是标准的,是的。