【问题标题】:How to generate executable .jar file for project with multiple packages and libraries?如何为具有多个包和库的项目生成可执行的 .jar 文件?
【发布时间】:2012-02-03 15:00:39
【问题描述】:

我参与创建一个项目,该项目包含大约 60 个包和 150 多个类以及一些外部库。我如何将这些东西打包到一个可执行的 jar 文件中,以便我可以将它作为应用程序运行。谁能提供详细的步骤。

提前感谢回复者。

【问题讨论】:

标签: java eclipse executable-jar


【解决方案1】:

在 Eclipse 中选择“导出为可运行 JAR”。

如果您想将所有内容放在一个文件中,请选择“将库提取到 JAR”。

【讨论】:

  • 感谢 Garrett,现在我可以生成一个可执行的 jar 文件,它也可以正常工作。但我有一个问题。它仅在放置在项目的工作区中而不是在其外部时才起作用。任何想法都会非常棒。
  • 您有任何失败信息吗?您可以尝试设置classpath when running the JAR 看看是否可以解决问题。在这种情况下,您的工作空间中的依赖项不在 JAR 中。
【解决方案2】:

我强烈建议您对其进行 mavenize。从长远来看,使用Apache Maven 将对项目描述有很大帮助。

【讨论】:

    【解决方案3】:

    如果您使用的是 Netbeans,请右键单击您的项目,然后单击 Clean and Build。这将在项目的根目录中创建一个名为 dist 的文件夹。该文件夹包含jar 文件。

    【讨论】:

      【解决方案4】:

      您可以使用 maven 构建您的项目并生成一个包含所有依赖项的 jar,其中包含 maven-shade-plugin

      <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-shade-plugin</artifactId>
          <version>1.4</version>
          <executions>
              <execution>
                  <phase>package</phase>
                  <goals>
                      <goal>shade</goal>
                  </goals>
              </execution>
          </executions>
          <configuration>
              <finalName>my-executable</finalName>
              <shadedArtifactAttached>true</shadedArtifactAttached>
              <shadedClassifierName>shaded</shadedClassifierName>
              <transformers>
                  <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                      <!-- Main class -->
                      <mainClass>com.worklight.my.cli.MainClassName
                      </mainClass>
                  </transformer>
              </transformers>
          </configuration>
      </plugin>
      

      【讨论】:

        猜你喜欢
        • 2016-01-14
        • 1970-01-01
        • 2015-09-14
        • 2023-04-01
        • 2012-12-23
        • 2014-08-26
        • 1970-01-01
        • 2018-12-02
        • 2011-08-26
        相关资源
        最近更新 更多