当我构建我的项目(使用Netbeans IDE)将只采取主类,或者它将包括项目中的其他类,即使它们没有显式声明在主类的代码内?
包中的所有类都包含在一个jar文件中。您可以通过以下命令进行交叉检查:
进入项目的dist文件夹。
使用任意文件归档器(eg: 7-zip, winrar, winzip
)提取jar文件。
解压的文件夹包含jar文件中包含的所有内容。
的例子:
是主要类
Test.java :
package test;
public class Test
{
public static void main(String[] args) {
// TODO code application logic here
}
}
还有一个类:class1
class1.java :
package test;
public class class1
{
}
class1.java没有在主类(Test)的代码中显式声明。但是当我在Net-beans IDE中构建这个项目并提取jar文件(Test.jar)时。jar包含:
-
class1.class
-
Test.class
JAR中的内容和保留的内容取决于打包代理,因此这绝对依赖于ide,并且还取决于用于构建归档的配置选项(例如,如果它是lib JAR,如果它是可执行JAR,如果它是WAR,等等)。
例如,Eclipse可以将编译的源代码与JAR依赖项一起打包,但是这也需要包括一些特殊的类来从分布式JAR中的JAR中加载类。
无论如何,您总是可以自定义打包阶段,并且您可以提取存档以查看它实际包含的内容。