当我构建我的项目(使用Netbeans IDE)时,它只接受主类,或者它是否包含项目中的其他类,即使它们没有在主类的代码中显式声明?
答案 0 :(得分:2)
包中的所有类都包含在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
答案 1 :(得分:0)
JAR中的内容以及剩下的内容取决于打包代理,因此这肯定取决于IDE,并且还取决于用于构建存档的配置选项(例如,如果它是lib JAR,如果它是可执行JAR,如果它是WAR,依此类推。)
例如,Eclipse可以将已编译的源与JAR依赖项一起打包,但这还需要包含一些特殊的类来从分布式JAR中的JAR加载类。
无论如何,您始终可以自定义打包阶段,并且可以提取存档以查看其实际包含的内容。