JAR和包之间有什么区别?
JAR文件和包之间有什么区别吗?
包是一种逻辑组织类的方法。 例如,您可以声明package com.foo;
在每个源文件的顶部,它们足够相关,可以一起驻留在com.foo
包中。 Java编译器和运行时还希望您将这些文件放在路径com/foo/
,其中此路径的根目录是类路径中的目录或JAR。
JAR文件允许您物理组织类。 您可以获取任何Java文件(及其父目录,尊重上面讨论的目录结构)并将它们存储在JAR文件中。 JAR文件可能包含属于多个包的文件,多个JAR文件可能包含属于同一个包的文件。 因此,JAR文件很大程度上是将多个类文件存储在单个物理文件中的一种方法。
JAR文件还有一些其他特殊function。 例如,您可以在JAR清单中指定Main-Class
值,以指定哪个类是应用程序的入口点,并且可以将包密封在JAR文件中,“这意味着必须存档该包中定义的所有类在同一个JAR文件中。“
包是Java中用于将类组织到命名空间中的机制。 jar是一个Java ARchive,一个将多个Java类聚合为一个的文件。
简而言之,JAR文件是一个物理文件,其结构很像zip文件,其中包含程序在执行时使用的文件。 jar通常包括.class文件,类的可执行版本以及其他资源,如图标,图片,特定于语言的属性文件等.Java Tutorial描述了jar,以及如何创建/管理它们。 (http://java.sun.com/docs/books/tutorial/jar/index.html)
在接口和包的Java Tutorial路径中,包的定义如下:“提供访问保护和命名空间管理的相关类和接口的集合。” (http://java.sun.com/docs/books/tutor…va/interpack/)。 虽然准确,但我发现这个定义本身并没有真正让你很好地了解一个包是什么。 有关更多信息,请转到引用的页面并阅读本教程的该部分。
在classpath jar和package(目录)中是相同的结构。 只是jar在计算机之间移动比在目录中更有用。
- 在Wildfly 10应用程序中使用jboss-client.jar的最佳方法是什么?
- 在android中使用预构建JAR中的资源
- java.lang.NoClassDefFoundError:javax / servlet / http / HttpServletRequest
- 在没有sbt的情况下运行sbt创建的应用程序
- Hadoop中的setJarByClass()
- java:在一个webapp中使用同一个lib的两个版本
- NetBeans不再为以前的代码生成JAR文件
- 与eclipse项目相比,Runnable jar运行速度太慢
- 如何在Windows上使用Java Hotspot JVM禁用minidump(mdmp)文件生成