java - Maven 不使用 maven jar 插件生成 MANIFEST 文件

标签 java maven manifest pom.xml maven-jar-plugin

我尝试使用 maven(mvn 包)生成一个 .zip 文件,并希望在 zip 中也有一个 MANIFEST 文件。 jar 文件本身确实有效。 我试图用 maven jar 插件生成一个 MANIFEST 文件,但它没有用。 我是否需要做其他事情来获取 MANIFEST 文件,或者是否足以使用此插件?父 pom(我展示的父 pom 的父)有 maven assembly 插件。 (我对 Maven 完全陌生)

父pom的pom.xml文件:

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jar-plugin</artifactId>
                <version>2.6</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

模块的pom.xml文件:

<build>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-jar-plugin</artifactId>
    <version>2.6</version>
    <configuration>
      <archive>
        <manifest>
          <mainClass>org.jis.Main</mainClass>
          <addClasspath>true</addClasspath>
        </manifest>
      </archive>
    </configuration>
</plugin>
</plugins>

最佳答案

在你的情况下,maven 必须这样调用:

mvn clean package assembly:single

获得相同结果的另一种方法是修改您的 pom:

  <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>3.0.0</version>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
        </configuration>
        <executions>
          <execution>
            <id>make-assembly</id> 
            <phase>package</phase> <!-- bind to the packaging phase -->
            <goals>
              <goal>single</goal>
            </goals>
          </execution>
        </executions>
 </plugin>

然后运行:

mvn clean package

引用: https://maven.apache.org/plugins/maven-assembly-plugin/usage.html

关于java - Maven 不使用 maven jar 插件生成 MANIFEST 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43813163/

相关文章:

android - Android 启动器 Activity 问题

java - Hibernate 外键上的一对一单向

java - 将大量值传递到构造函数中以初始化final。

java - Arraylist 中的空指针异常

java - Maven Java 不会对非详尽开关发出警告

java - 以管理员身份从 Java 运行 Windows 命令行 - 创建 .manifest 文件

java - 验证签名的 JWT

java - Ejb 查找中的类转换异常

java - 尝试重建 Maven 项目时出错

android - Chrome 徽章显示在 'Add To Homescreen' 已安装的 PWA 上(仅安装快捷方式)