java - 如何使用 Maven 将属性添加到 java Manifest

标签 java netbeans maven-3 pom.xml manifest

我从 Java 8 迁移到 Java 11,从 Ant 项目迁移到 Maven 项目, list 丢失了项目版本和构建日期信息。

我使用以下代码打印了 Manifest 的所有主要属性:

        manifest = new Manifest(new URL(manifestPath).openStream());
        Attributes attr = manifest.getMainAttributes();
        
        // Enumerate each attribute
        for (Iterator it=attr.keySet().iterator(); it.hasNext(); ) {
            // Get attribute name
            Attributes.Name attrName = (Attributes.Name)it.next();
            String attrValue = attr.getValue(attrName);
            
            AppLogger.getInstance().Log(attrName + ": " + attrValue);

            }

这是我得到的所有属性名称: 主类、类路径、构建 Jdk、构建者、创建者、 list 版本、jar

没有项目版本或构建日期。

我应该在 POM 文件中进行哪些更改才能添加此信息?

最佳答案

您可以在 pom.xml 中执行类似的操作:

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-jar-plugin</artifactId>
        <version>3.2.1</version>
        <configuration>
          <archive>
            <manifestEntries>
              <Build-Jdk>${java.version} (${java.vendor} ${java.vm.version})</Build-Jdk>
              <Build-OS>${os.name} ${os.arch} ${os.version}</Build-OS>
              <Build-Timestamp>${maven.build.timestamp}</Build-Timestamp>
              <Project-Version>${project.version}</Project-Version>
            </manifestEntries>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>

引用文献:https://andresalmiray.com/customize-jar-manifest-entries-with-maven-gradle/ , https://maven.apache.org/plugins/maven-jar-plugin/examples/manifest-customization.html

关于java - 如何使用 Maven 将属性添加到 java Manifest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71413375/

相关文章:

java - 从 jar 存档访问文件

java - 为什么动态修改 ActionBar 中的 TextView 会出现空指针异常?

java - 未知的 while 循环用法

java - 如何在 Netbeans 中使用框架绘制可选决策树

gradle - 如何在MyEclipse中将Maven项目转换为Gradle项目?

java - 我可以更改屏幕底部后退箭头的功能吗?

java - Java 无法接收键盘输入

java - 打包 android.os。不存在 Libgdx Netbeans

Maven Enforcer 插件 : Specify rules via command line

maven - 如何排除 Maven 继承的子依赖项中的父 pom 依赖项?