Java导入到Jar文件

Java导入到Jar文件,java,import,jar,Java,Import,Jar,我的问题是,有没有一种方法可以将所有Java导入放在一个jar文件中,这样当你制作一个Java程序时,就不需要单独导入文件了 编辑: 我是说像 import java.awt.*; import java.awt.event.*; 输入一个jar文件,在该文件中不需要键入import java.awt.*everytime如果您正在考虑像C/C++全局include文件这样的东西,它允许在文件的顶部使用一个import语句,那么您可以使用netbeans来实现这一点 但是,您的JavaIDE应

我的问题是,有没有一种方法可以将所有Java导入放在一个jar文件中,这样当你制作一个Java程序时,就不需要单独导入文件了

编辑: 我是说像

import java.awt.*;
import java.awt.event.*;

输入一个jar文件,在该文件中不需要键入
import java.awt.*
everytime

如果您正在考虑像C/C++全局include文件这样的东西,它允许在文件的顶部使用一个import语句,那么您可以使用netbeans来实现这一点


但是,您的JavaIDE应该能够自动为您添加导入

您混合了两种东西—Java包和jar文件

包只不过是经常一起使用的类的名称空间。
import java.awt.*
语句不会将awt类添加到您的程序中,它只允许您编写
Graphics
,而不是
java.awt.Graphics
和类似内容。如果你不想把它们拼出来(这更让人恼火),你就无法避免导入它们

为了能够在运行时使用一个类,这个类必须对虚拟机可用——不管您是导入它还是完全写入它的名称。像
java.awt.*
这样的标准类通常已经为您的VM所知(因为它们是运行时环境的一部分)。要使用其他类(包括您自己的类),您需要将它们包括到类路径中(例如通过
-cp
参数到
java
命令,或者通过将它们放在当前目录中),或者您需要通过自己的类加载器加载它们。这里可以使用jar文件——类文件可以位于类路径中提到的jar文件中,也可以位于类路径中提到的目录中。(URLClassloader的工作方式与此相同。)


但是,在jar中打包类并不能避免导入它们以便能够使用它们。其中一个涉及到编译器的名称解析,另一个涉及到运行时类加载。

对于“所有Java导入”和“不需要单独导入文件”,您实际上指的是“所有Java依赖项”和“不需要单独将它们添加到类路径”?否则这个问题就毫无意义了:)无论如何,related/duplicate:java.awt和java.awt.event都在rt.jar中。。。我不明白你的问题包被高估了,把所有东西放在一起,导入一行代码@最棒的是,随着复杂性的增加,软件包变得越来越重要。@Andy,解释讽刺总是一个很好的技巧,但我要跳过它