【问题标题】:How to create multiple jar with different main in same project, IntelliJ如何在同一个项目中创建多个具有不同 main 的 jar,IntelliJ
【发布时间】:2013-11-23 20:33:18
【问题描述】:

我正在使用 IntelliJ 12,我正在尝试配置我的项目,以便为其中的每个主要方法生成一个 jar 文件。 我有一个项目,其中一个主要方法用于服务器,另一个用于客户端,我想生成一个 jar 文件,该文件将相应地运行其中的每一个

一个不同的 SO 问题将我引向这个:http://blog.jetbrains.com/idea/2010/08/quickly-create-jar-artifact/ 使用一种主要方法创建单个 jar 效果很好,但是当我创建多个人工制品时,每个人工制品都具有正确的设置并单击应用,它们都指向同一个主类。

【问题讨论】:

  • 你是 maven 项目吗?
  • 不,只是一个普通的 intelliJ 项目。我想我发现问题在于,尽管它们有不同的主类,但清单对于所有这些类都位于同一位置,这意味着它仅使用我放置的最后一个设置进行更新。但据我所知,meta-inf 需要在 src 目录中,所以我不知道如何解决这个问题

标签: java jar intellij-idea


【解决方案1】:
  1. 创建两个目录(在源代码树中的某个位置)。每个要构建的 JAR 一个。例如:
  2. 转到“项目结构”中的“工件”窗格
  3. 创建新的 JAR 工件配置
  4. 完成“从模块创建 Jar”对话框中的字段。对于“META-INF/MANIFEST.MF 字段的目录”,将默认值更改为在步骤 1 中创建的相应目录的路径。
  5. 点击确定
  6. 在右侧窗格中,将工件定义重命名为适当的名称。
  7. 为下一个 JAR 重复步骤 3-6

Idea 将创建清单文件。例如:

但是,当它构建 JAR 时,IDEA 会将 META-INF 目录及其内容复制到 JAR 的根目录,因此您的 MANIFEST.MF 文件将位于正确的位置。

【讨论】:

  • 谢谢,成功了。没有意识到 meta-inf 文件不必在 src 文件夹中
猜你喜欢
  • 1970-01-01
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 2017-05-21
  • 1970-01-01
  • 2015-09-19
  • 1970-01-01
  • 2011-02-26
相关资源
最近更新 更多