在一个简单的 IntelliJ 模块中,我只想通过 IntelliJ IDE 命令使用我的 .class 文件生成一个 .jar 文件。
在将其标记为“重复”之前请小心:
尽管我已经看到 Google 和 Stack 的热门标题很有希望,但我没有找到一个很好的答案,或者标题具有误导性,或者是一个悬而未决的问题。我介绍了我之前看到的一个可能的答案(如下),以及为什么我认为它不匹配。
我过去使用过 Eclipse,但我对 IntelliJ 还是很陌生。
我已经使用过“项目结构/工件”的东西。我可以生成巨型 jar,类似于使用“shade”,但它很大,因为它包含所有嵌套的依赖项。我们想要只有这个模块的类文件的小 jar,因为我们要部署到的系统已经有所有其他的 jar。
我在 Artifacts 对话框中看到了一些更改目标目录的引用,但它随后谈到了在 Manifest 文件中进行的引用,这是我不想要的。目标环境已经设置了它的 java 路径,所以我担心在这个 jar 中有 jar 引用会搞砸。如果这真的是答案,那么我对它的工作原理感到困惑。
约束 1:不能使用命令行工具,因为我实际上是在指导其他人完成这些步骤,他们可能没有在路径中安装命令行工具,或者不知道如何使用它们等。他们不是编码员。(是的,我知道这听起来很奇怪;我继承了这种情况。)
约束 2:我们希望将其保留为一个简单的 IntelliJ 项目,而不是转换为 Maven 或 Ant 或 Gradle 等。
同事解决了。
简答:
从工件配置对话框的输出布局选项卡中删除所有其他 jars/库。
更长的答案:
你仍然做文件/项目结构......
然后在项目设置中,单击工件。
然后您仍然单击加号按钮(第二列)以创建新的工件设置。
诀窍是窗口第三列中的“输出布局”选项卡。突出显示除项目编译输出之外的所有条目并删除所有其他条目(单击该选项卡下的减号按钮,就在 your_project.jar 上方)
在我的笔记本电脑上,这会导致它暂停几秒钟;我以为它没有做任何事情,然后最后它反映出除了“'my_module'编译输出”之外的一切都消失了
还要检查“Build on make”(当您稍后进行构建/重建项目时)
如果你需要一个完整的 jar 和一个瘦的 jar,你可以有多个不同名称的 Artifact 配置,它们将默认为不同的输出目录。
归档时间: |
|
查看次数: |
4064 次 |
最近记录: |