【问题标题】:Create executable JAR from classes and images using Eclipse使用 Eclipse 从类和图像创建可执行 JAR
【发布时间】:2013-06-13 21:42:12
【问题描述】:

我有以下文件夹:

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

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

【问题讨论】:

  • 您使用 IDE 吗?例如,eclipse 提供了很好的工具
  • 是什么类型的项目? ANT、Maven 等
  • @Simiil 使用 IDE 的问题是任何希望改进该代码的人都必须拥有 IDE...构建工具是更好的选择
  • 是的,我正在使用 Eclipse。 @Simiil
  • @fhe 虽然我同意,但至少对于 Netbeans,转向 Maven 使这个问题变得更小

标签: java eclipse swing deployment executable-jar


【解决方案1】:

我认为最好把你的照片放在一个包裹里。这样,所有内容都将从您的 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 builder,它可以毫无问题地从包中加载资源。

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

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

如果选择 export->Runnable Jar,Eclipse 可以自动执行此步骤。

【讨论】:

    【解决方案2】:

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

    您还必须注意,一旦将图像打包到 jar 文件中,加载图像可能会有所不同。更多信息请见this

    【讨论】:

      猜你喜欢
      • 2012-12-30
      • 2011-12-30
      • 2019-08-05
      • 2022-01-08
      • 2020-04-17
      • 1970-01-01
      • 2010-10-04
      相关资源
      最近更新 更多