java - 为了创建可运行的 jar,Maven application.properties 文件中应该包含什么?
问题描述
致未来读者的注意事项:当我创建这个问题时,由于我误解了链接指南中令人困惑的部分,我不知道 application.properties 文件与 MANIFEST.MF 文件是分开的,而后者是由 maven 生成的无论。有关如何创建可运行 jar 的信息,请参阅下面的答案。
我目前正在尝试通过阅读入门指南来学习 Maven 的基础知识。然而,当我到达关于 jar 文件中的非类资源的部分时,我注意到缺少一条基本信息。该指南说,为了使 jar 可执行,创建清单文件的一种方法是在 Maven 项目的资源部分创建一个 application.properties 文件。但是,它没有提供有关此文件中的内容或如何指定主类的信息。
我可以在 application.properties 文件中放置哪些信息?这个文件的格式是什么?它是标准的 Java .properties 文件吗?如果是这样,有效的属性是什么?如何指定工件中的主类,以便生成的 jarmvn package
可以通过 运行java -jar
?
我尝试了各种搜索词(即“Maven application.properties 文件”),但没有任何有用的答案。我还浏览了入门指南的其余部分以及 Maven 网站的其余部分,因为我对 Maven 的了解还不够多,无法正确理解其中的大部分内容。
解决方案
要使 jar 可执行,请main class
在程序集插件中指定。
示例 pom 片段:
<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>
推荐阅读
- bash - 带有模式和引号字符的 bash 循环
- vba - VBA Excel 无法更改绘图标题的布局
- javascript - 选中时 React Set Class Active
- python - 为数据框创建日期列
- state - 分层状态机 (HSM) 当前状态
- google-calendar-api - Google Calendar API,缺少事件通知
- javascript - Threejs - 将相机旋转 90 度,而不是物体
- apache-spark - 如何将 spark 参数传递给 dataproc 工作流模板?
- elasticsearch - 使用参数搜索时结果看起来不正确
- ios - 带有子视图的 MVVM 设计