Java 使用多个类构建Jar文件

Java 使用多个类构建Jar文件,java,jar,Java,Jar,有没有一种方法可以构建一个包含特定文件夹中任何内容的jar文件 在我的文件夹中,我有一个名为GamesCombined.java的主类和它的.class文件 下面是GamesCombined文件夹中我的目录的外观 -> GamesCombined.java -> GamesCombined.class //classes* -> games (folder) | |----> pacman (folder) | | | |----> PacmanGame.j

有没有一种方法可以构建一个包含特定文件夹中任何内容的jar文件

在我的文件夹中,我有一个名为GamesCombined.java的主类和它的.class文件

下面是GamesCombined文件夹中我的目录的外观

-> GamesCombined.java
-> GamesCombined.class //classes*
-> games (folder)
|
|----> pacman (folder)
|   |
|   |----> PacmanGame.java
|   |----> PacmanGame.class //classes*
|
|----> racinggame(folder)
     |
     |----> RacingGame.java
     |----> RacingGame.class //classes*
-> images (folder)
|
|----> pacman (folder)
|    |
|    |----> //jpg's and png's
|
|----> racinggame (folder)
     |
     |----> //jpg's and png's
我已经通过以下链接创建了GamesCombined.java的jar文件:

但它有一个错误:

主线程java.lang.NoClassDefFoundError中出现异常:games/pacman/PacmanGame错误名称:PacmanGame

java已经导入games.pacman.*

有没有一种方法可以让我构建一个包含其他类的jar文件?我该怎么办o


当它出现在JAR文件上时,我是新手/

最简单的方法是使用IDE附带的Jar生成器。 Java带来了一个还可以创建JAR文件的工具,请看:

在这两种情况下,您都必须检查写在清单中的类路径

编辑:

JCreator Pro非常简单:

点击: 配置>选项>工具>新建>创建JAR文件

这将创建一个用户工具来创建一个JAR文件,这还不包括清单,您必须手动添加清单

或者,您可以配置命令行开关以合并清单,例如: cvmf$[PrjDir]\MANIFEST.MF$[PrjName].jar

这应该包括项目目录中的清单“manifest.MF”作为清单。不过,你必须自己创造


注意:这还没有经过测试

最简单的方法是使用IDE附带的Jar构建器。 Java带来了一个还可以创建JAR文件的工具,请看:

在这两种情况下,您都必须检查写在清单中的类路径

编辑:

JCreator Pro非常简单:

点击: 配置>选项>工具>新建>创建JAR文件

这将创建一个用户工具来创建一个JAR文件,这还不包括清单,您必须手动添加清单

或者,您可以配置命令行开关以合并清单,例如: cvmf$[PrjDir]\MANIFEST.MF$[PrjName].jar

这应该包括项目目录中的清单“manifest.MF”作为清单。不过,你必须自己创造

注意:这尚未测试

NoClassDefFoundError表示您没有在PacManGame.java中指定包,或者在将包添加到jar之前没有重新编译包

package games.pacman;
public class PacManGame {
    ...
要回答最初的问题,您可以使用

jar cvfm gamescombined.jar MANIFEST.MF -C GamesCombined/ . 
NoClassDefFoundError表示您没有在PacManGame.java中指定包,或者在将包添加到jar之前没有重新编译包

package games.pacman;
public class PacManGame {
    ...
要回答最初的问题,您可以使用

jar cvfm gamescombined.jar MANIFEST.MF -C GamesCombined/ . 


您正在使用哪个IDE?问题是您的清单文件有问题,您可以将其粘贴到这里。您是否使用IDE命令构建JAR?还是从命令行?如果您是从命令行执行此操作,那么命令是什么?@TimHerold-JCreatorPro@loki主类:gamescombined您使用的是哪个IDE?问题是您的清单文件,您可以将其粘贴到这里。您是否使用IDE命令构建JAR?还是从命令行?如果您是从命令行执行此操作,那么命令是什么?@TimHerold-JCreatorPro@loki根据我的问题,这是正确的吗?jar cfv GamesCombined.jar GamesCombined.class GamesCombined$1.class GamesCombined$2.class GamesCombined$3.class GamesCombined$4.class GamesCombined$5.class images gamesTry使用附带的JCreator函数:我在youtube上看到了一个教程。你用WinRar和goto Meta文件夹打开它,我把Main Class:games组合到manifest.mf。是吗?如果你想使用命令行,试试这个jar cvfm yourJarName.jar yourManifest-C yourMainFolder/@juvaraberra ut Main Class:games组合到manifest.mf。是吗?是的,但是您还需要检查您的类路径,下面是一个清单条目示例类路径:jar1 name jar2 name directory name/jar3 name根据我的问题,这是否正确?jar cfv GamesCombined.jar GamesCombined.class GamesCombined$1.class GamesCombined$2.class GamesCombined$3.class GamesCombined$4.class GamesCombined$5.class images gamesTry使用附带的JCreator函数:我在youtube上看到了一个教程。你用WinRar和goto Meta文件夹打开它,我把Main Class:games组合到manifest.mf。是吗?如果你想使用命令行,试试这个jar cvfm yourJarName.jar yourManifest-C yourMainFolder/@juvaraberra ut Main Class:games组合到manifest.mf。是吗?是的,但您还需要检查类路径,这里是一个清单条目示例类路径:jar1 name jar2 name directory name/jar3 name