2012-01-10 98 views
0

当我在NetBeans中清理并构建项目时,.jar文件将出现在dist文件夹中,就像它应该的那样。但是如果我在项目下有多个文件呢?这些文件会发生什么?例如。我有一个游戏项目,在它下面是不同的角色(骑士,流氓等),但我只在清理和构建时看到一个game.jar文件,我想知道单个文件会发生什么。谢谢Netbeans清理和构建类

回答

3

这些文件应作为编译的.class文件在jar文件中。由于它是zip格式,所以很容易仔细检查jar文件中的内容。您可以使用像7-Zip这样的程序来打开它,或将其重命名为zip扩展名(例如从mygame.jar到mygame.zip),并且您正在使用的任何操作系统可能都有某种方式可以打开它。

当您打开或解压缩jar文件时,您会在目录结构中找到反映您的包结构的已编译类文件。例如,如果你在jar文件的目录src/game/characters/Knight.java中有Knight.java,你会发现类似classes/game/characters/Knight.class的东西。

名称“jar”是“Java归档”的缩写。它将所有类和其他资源(例如图像)存储在项目中。

+0

另一件事,我得到一个“C:\ Users \ Jimmt \ Documents \ NetBeansProjects \ Game \ nbproject \ build-impl.xml:683:现有清单C:\ Users \ Jimmt \ Documents \ NetBeansProjects \ Game \ build \ null1407885333是无效的“ - 可能是因为我有我在不同的项目中使用的类? – Jimmt 2012-01-20 01:52:36

+0

我会将此作为一个新问题发布,并发布包含第683行的build-impl.xml的一部分。需要更多信息来解决此问题。 – Paul 2012-01-20 02:15:14

1

您在.java文件中定义的类将被编译为.class文件 - 这些文件包含在.jar文件中。

+0

好吧,所以他们不会得到个人.jars? – Jimmt 2012-01-10 02:02:59

+0

不是,.jar的要点是将您的项目一起打包到一个文件中,该文件充当存档并可由JVM运行。 – 2012-01-10 02:15:45

0

所有资源都被编译到JAR文件中。如果你需要一个单独的资源JAR,你需要将项目分成两个Maven项目:一个用于代码的jar,一个用于资源。然后,您可以创建第三个可生成分配的项目。

虽然这是很多工作。除非你有明确的动态加载要求,否则它更容易将所有内容保存在一个JAR中。