使用Eclipse从类和图像创建可执行JAR

时间:2013-06-17 20:10:20

标签: java eclipse swing deployment executable-jar

我有以下文件夹:

Game Of Life
|_bin
| |_Board.class
| |_Frame.class (main class)
|   ...
|_res
| |_playToolbar.png
| |_pauseToolbar.png
|   ...
|_src
  |_Board.java
  |_Frame.java
    ...

如何创建包含每个类和图像的可执行文件.jar,以便在执行.jar时运行Frame类?我正在使用Eclipse。

2 个答案:

答案 0 :(得分:0)

如果您正在使用eclipse,则可以在项目上执行Rightclick->Export并在Runnable Jar File下选择Java。您的res文件夹必须在eclipse中配置为源文件夹,否则不会导出。

您还必须考虑一旦将图像打包到jar文件中,加载图像可能会有所不同。有关详细信息,请参阅this

答案 1 :(得分:0)

我认为最好将照片放入包装内。这样,所有内容都将从您的JAR文件打包并加载。

之后,您将不得不使用来自Class实例的getResource(...)方法加载图像。

你会有这样的事情:

GameOfLife
|- src
|  |- my
|  |  |- company
|  |  |  |- app
|  |  |  |  | Board.java
|  |  |  |  | Frame.java
|  |  |  |  |- resources
|  |  |  |  |  |- playToolbar.png
|  |  |  |  |  |- pauseToolbar.png

然后从Frame类创建一个“playToolbar.png”的ImageIcon,你将不得不使用:

new ImageIcon(Frame.class.getResource("resources/playToolbar.png"));

或者:

new ImageIcon(Frame.class.getResource("/my/company/app/resources/playToolbar.png"));

如果您使用的是Netbeans GUI构建器,它可以毫无问题地从包中加载资源。

要自动运行Frame类,您必须创建一个MANIFEST.MF文件并将其放在JAR根目录下名为META-INF的文件夹中。在里面,您可以将Frame定义为Main-Class:

Manifest-Version: 1.0
Main-Class: my.company.app.Frame

如果选择export-> Runnable Jar。

,Eclipse可以自动完成此步骤