【问题标题】:Create a jar with only one main class and only its dependecies创建一个只有一个主类及其所有依赖项的 jar
【发布时间】:2014-08-15 12:51:57
【问题描述】:

我有一个包含许多主要类的 Java。我想创建一个只有一个主类和它的依赖项的 Jar。我只想将主类的代码和依赖项包含在 jar 中。我使用 Maven 来制作我的 jar。

【问题讨论】:

  • 所以您想选择一个类并构建一个 JAR,其中包含运行该类所需的所有内容,而不管您的 Maven 项目中存在哪些其他类?
  • @Duncan 是的,我更新了我的问题。
  • 如果你使用eclipse,它会让你的生活更轻松。你能用eclipse吗?
  • 是的,我正在使用 eclipse。

标签: java maven executable-jar


【解决方案1】:

maven 方法是可能有一个父项目,每个应用程序都有一个模块项目。每个单独的应用程序项目都有一个在 META-IBF/MANIFEST.MF 中指定的 Main-Class,以及单独的最小依赖项。可能需要一个或多个用于内部依赖的库项目。

/all
    /lib-a
        pom.xml --> lib-a-0.1-SNAPSHOT.jar
    /lib-b
        pom.xml --> lib-b-0.1-SNAPSHOT.jar
    /app-m
        pom.xml --> app-m-0.1-SNAPSHOT.jar
    /app-n
        pom.xml --> app-n-0.1-SNAPSHOT.jar
    ...
    pom.xml --> all-src-0.1-SNAPSHOT.zip
            --> all-0.1-SNAPSHOT.jar

应用程序生成一个带有 Main-Class: ... 条目的清单。 依赖项是按应用程序定义的。

您可能会想到只有一个项目和一个处理本地依赖项的智能 maven 插件,但为什么。

您可以将所有源代码保存在一个项目中,例如生成带有源代码的 zip 作为工件。 每个应用程序项目都可以从 zip 中获取特定的源列表。很难。

如果你确实想要一些非常定制的东西,我认为回到 ant + ivy 会更有效。

【讨论】:

    猜你喜欢
    • 2014-01-08
    • 1970-01-01
    • 1970-01-01
    • 2014-06-27
    • 1970-01-01
    • 1970-01-01
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多