Java 有人能解释一下maven jar插件的配置吗?

Java 有人能解释一下maven jar插件的配置吗?,java,maven,Java,Maven,我对maven还是新手,所以为了熟悉它的工作原理,我一直在浏览互联网上的工作示例。我遇到了这样一个问题: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jar-plugin</artifactId> <configuration> <archive> &l

我对maven还是新手,所以为了熟悉它的工作原理,我一直在浏览互联网上的工作示例。我遇到了这样一个问题:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <addClasspath>true</addClasspath>
                <mainClass>${startupClass}</mainClass>
                <classpathPrefix>${app.lib.dir}</classpathPrefix>
            </manifest>
        </archive>
    </configuration>
</plugin>

org.apache.maven.plugins
maven jar插件
真的
${startupClass}
${app.lib.dir}
据我所知,这看起来似乎实际上获取了外部引用,并将它们包含在最终的JAR中,这是没有意义的,因为我认为使用maven的全部目的是让maven为您解决依赖关系


谢谢,非常感谢您的帮助。

此插件配置为在jar的清单文件中创建类路径条目。此外,它还将创建一个MainClass条目,其中包含startupClass属性的值。此外,它还将使用app.lib.dir属性中存储的值为添加到类路径项中的每个maven依赖项添加前缀

我过去曾将这些与maven依赖插件结合使用。我使用该插件将所有maven JAR复制到一个lib文件夹中,然后使用您那里的插件,就像您在清单文件中设置类路径和主类条目一样

尽管我想指出,如果没有节点,该插件将不会将classPath条目添加到清单文件中。至少在我的eclipse/maven版本中不会这样。我建议在插件定义中添加2.4


好的,我现在明白了。谢谢你的解释