【问题标题】:Classpath in JAR manifest? [duplicate]JAR清单中的类路径? [复制]
【发布时间】:2018-04-10 22:47:04
【问题描述】:

我正在尝试为其他人编写的 FOSS 应用程序开发一个插件。我需要做的就是获取我编写的单个类,将其打包到 JAR 文件中,然后将 JAR 文件复制到应用程序预先安装的目录中。
当应用程序看到我的 JAR 文件时,它应该在启动时加载它。 问题是,它似乎无法加载我的 JAR 文件。

根据他们的文档,我的清单可能需要指定 CLASSPATH。

我的 JAR 文件结构很简单:MyJarFile.jar/MyClass.java

它实际上只是一个 JAR 文件,其中包含一个 JAVA 类文件。

我是新手,我在 Google 上看到的所有清单文件示例似乎都引用了其他 JAR 文件。

我什至需要在清单中包含一个 CLASSPATH 吗?

如果是,我该如何引用 MyClass.java?

我正在使用 IntelliJ 和 Maven(第一次)。

谢谢。

【问题讨论】:

  • 这个问题是不同的,因为我问我是否需要在一个只有一个类的 JAR 文件中包含一个类路径。我看到的其他问题与自我参照清单无关。他们在询问如何引用其他 JAR 文件。话虽如此,我已经解决了这个问题。

标签: java maven intellij-idea manifest.mf


【解决方案1】:

试试这个:单击“文件”->“项目结构”->“工件”->右键单击您的 jar 文件并选择“放入输出根目录”

【讨论】:

    【解决方案2】:

    查看 java 文档中的文章“设置应用程序的入口点”: https://docs.oracle.com/javase/tutorial/deployment/jar/appman.html

    如果您尚未在清单中添加一行,例如“Main-Class: MyClass”,则需要运行该 jar。

    您是否需要从您的 JAR 中引用另一个 JAR 中的类? 如果是这样,您将需要添加到 JAR 的类路径中。请参阅https://docs.oracle.com/javase/tutorial/deployment/jar/downman.html 了解如何执行此操作。

    一般来说,我建议阅读有关 JAR 的 java 文档信息 https://docs.oracle.com/javase/tutorial/deployment/jar/index.html

    如果您在阅读后仍然需要帮助,请更详细地解释您的具体用例,例如分享实际代码或错误消息

    【讨论】:

    • 感谢您的回答。我对 IntelliJ 和 Maven 非常缺乏经验。事实证明,我必须在项目中创建一个新模块,并将模块的编译输出手动添加到我的 JAR 文件中。这很痛苦,但感谢您帮助我。
    猜你喜欢
    • 2015-01-18
    • 2023-03-04
    • 2019-08-27
    • 1970-01-01
    • 2016-06-25
    • 2015-11-20
    • 1970-01-01
    • 2014-11-18
    • 2016-09-04
    相关资源
    最近更新 更多