Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为了创建可运行的jar,Maven application.properties文件中应该包含什么?_Java_Maven_Maven 3 - Fatal编程技术网

Java 为了创建可运行的jar,Maven application.properties文件中应该包含什么?

Java 为了创建可运行的jar,Maven application.properties文件中应该包含什么?,java,maven,maven-3,Java,Maven,Maven 3,请未来读者注意:当我创建这个问题时,由于误解了链接指南中一个令人困惑的部分,我不知道application.properties文件与MANIFEST.MF文件是分开的,后者无论如何都是由maven生成的。有关如何创建可运行的jar,请参见下面的答案 我目前正试图通过以下途径学习Maven的基础知识。然而,当我访问jar文件时,我注意到缺少一条重要的信息。该指南说,为了使jar可执行,创建清单文件的一种方法是在Maven项目的资源部分创建application.properties文件。但是,它

请未来读者注意:当我创建这个问题时,由于误解了链接指南中一个令人困惑的部分,我不知道application.properties文件与MANIFEST.MF文件是分开的,后者无论如何都是由maven生成的。有关如何创建可运行的jar,请参见下面的答案


我目前正试图通过以下途径学习Maven的基础知识。然而,当我访问jar文件时,我注意到缺少一条重要的信息。该指南说,为了使jar可执行,创建清单文件的一种方法是在Maven项目的资源部分创建application.properties文件。但是,它没有提供有关该文件内部的内容或如何指定主类的信息

我可以在application.properties文件中放置哪些信息?这个文件的格式是什么?它是标准的Java.properties文件吗?如果是,有效属性是什么?我如何在工件中指定主类,以便从
mvn包
生成的jar可以通过
java-jar
运行


我尝试过各种搜索词(如“Maven application.properties文件”),但没有找到有用的答案。我还浏览了《入门指南》的其余部分,粗略地浏览了Maven网站的其余部分,因为我还不了解足够多的Maven来正确理解大部分内容。

要使jar可执行,请在汇编插件中指定
主类

示例pom snippit:

    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <configuration>
                    <archive>
                        <manifest>
                            <mainClass>com.maventest.App</mainClass>
                        </manifest>
                    </archive>
                </configuration>
            </plugin>
        </plugins>
    </build>

org.apache.maven.plugins
maven汇编插件
com.maventest.App

谢谢您的回答!不幸的是,它没有回答部分问题。具体来说,它不处理application.properties文件的内容。application.properties文件对于maven来说只是一个文本文件。这是一个显示${}属性替换和在JAR中包含资源的示例。它没有特别的意义。制作一个jar可执行文件是如上所述的,或者使用一个定制的清单文件将其添加到答案中会使其变得良好,并准备接受。理想情况下,它可以注意到清单文件是单独处理的(请参阅我对这个问题的评论)。“指南说,为了使jar可执行,创建清单文件的一种方法是在Maven项目的资源部分创建application.properties文件”。我已经通读了整个章节,但我在任何地方都看不到。你能提供一个链接和报价吗?据我所知,该文件只是一个不相关的示例属性文件,用于显示标准目录布局的工作原理。@Mad物理学家为了回答您的问题,进一步检查后,我意识到我犯了一个错误。因为指南介绍了application.properties文件,同时记录了manifest文件,所以我假设它们是连接在一起的。事实证明他们不是。谢谢你的帮助!我强烈建议删除这个问题,因为它更可能使未来的访问者感到困惑,而不是帮助他们。@MadPhysicator我在顶部添加了一个通知,供未来的读者阅读。因为我确实认为Maven指南中的部分设置方式会使读者容易产生误解,所以我认为最好在tp的通知中留下问题。我完全不同意指南在那里不清楚,但这完全是你的决定。