当前位置: 首页 > 知识库问答 >
问题:

maven jar插件maven plugin到底是做什么的?使用或不使用这个插件有什么区别?

陶宜民
2023-03-14

我正在开发一个简单的Spring控制台应用程序(这是一个批处理,有一个带有经典main()方法()的类),我对pom有以下疑问。xml Maven文件。该文件仅包含工作所需的Spring依赖项。当我运行Maven install Station时,它会生成相关的。jar将应用程序编译到我的项目的目标目录中。

我正在寻找另一个类似的老项目,我过去曾参与过该项目,并将其纳入了pom。xml我可以找到这个maven jar插件:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <mainClass>com.myCompany.main.MainClass</mainClass>
            </manifest>
        </archive>
    </configuration>
</plugin>

那么这个maven jar插件到底做了什么(也不用它,maven install Station会生成一个编译过的.jar文件)。使用或不使用这个插件有什么区别?

共有2个答案

韩靖琪
2023-03-14

Maven Jar插件负责配置项目主类的位置,以便将其添加到Jar的清单文件中。如果在尝试运行jar文件时未包含此插件,则会出现以下错误:

 Exception in thread "main" java.lang.NoClassDefFoundError 

无论您是否在其他地方添加了这一行:

<mainClass>yourapp.Mainclass</mainClass>

正确的方法是在maven jar插件中添加上述行。

锺离浩慨
2023-03-14

jar插件允许我们定义一个默认的清单文件。使用该选项,位于${project.build.outputDirectory}/META-INF/MANIFEST. MF的文件将是jar中的清单文件。maven jar插件提供了构建jar文件的功能,如果您定义您的项目打包为jar文件,maven将隐式调用此插件。我们不需要在内部定义它pom.xml它将在maven需要时下载和执行。所以无论您是否在pom中使用它,如果需要,它都会被maven自动加载。

请参阅此链接以更好地理解https://examples.javacodegeeks.com/enterprise-java/maven/maven-jar-plugin-example/

 类似资料:
  • maven发布插件到底是什么?它的目的是什么?我在教程中找到了它,但不明白它有什么用处。此外,老师还向我们展示了如何在GitHub上创建标记。maven发布插件和GitHub有什么共同点?

  • 本文向大家介绍组件和插件有什么区别?相关面试题,主要包含被问及组件和插件有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 组件 (Component) 是用来构成你的 App 的业务模块,它的目标是 App.vue。 插件 (Plugin) 是用来增强你的技术栈的功能模块,它的目标是 Vue 本身。

  • 我不明白gradle插件块 和其他一个: 在第一个块中,我们有一些插件名称。在第二个一个包和版本。我不明白应该在哪里使用第一个块,什么时候使用第二个块。

  • 问题内容: 我听说过很多有关Spring的信息,人们在网络上都说Spring是Web开发的良好框架。Spring Framework到底是做什么用的? 问题答案: 基本上,Spring是用于依赖项注入的框架,该框架是一种允许构建高度分离的系统的模式。 问题 例如,假设你需要列出系统的用户,从而声明一个名为的接口: 也许是一个访问数据库以获取所有用户的实现: 在你看来,你需要访问一个实例(仅作为示例

  • 问题内容: 这是我的代码: 这是我从解释器运行输出时的结果: 如果您注意到输出,则创建巨大的列表会消耗621.5 MB,而删除它只会释放152.6 MB。当我检查文档时,我发现以下语句: 因此,我猜想它并没有删除对象本身,而只是取消了绑定。 但是,它在解除绑定方面做了什么工作,从而释放了很大的空间(152.6 MB) 。有人可以痛苦地解释我在这里发生什么吗? 问题答案: Python是一种垃圾收集