当前位置: 首页 > 知识库问答 >
问题:

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

储峻
2023-03-14

我尝试用maven (mvn包)生成一个. zip文件,并希望在zip中也有一个清单文件。jar文件本身确实可以工作。我试图用maven jar插件生成一个清单文件,但它不起作用。我需要做些别的事情来得到一个清单文件吗,或者使用这个插件就足够了?父pom(我展示的父POM的父POM)有maven汇编插件。(我对maven完全陌生)

pom.xml父 pom 的文件:

<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>

共有3个答案

韩弘壮
2023-03-14

我也有同样的问题,从pom文件中删除标签对我有帮助

乐正峰
2023-03-14

我遇到了同样的问题,突然无法从CLI运行jar,删除了< code >

司徒志强
2023-03-14

在你的情况下,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

 类似资料:
  • 不幸的是,SpringFox还不支持OpenAPI3,而且,当我只想将最初的yaml公开为JSON时,使用基于反射的生成器似乎毫无意义。

  • 我正在尝试运行maven-expertion-plugin:1 . 26 . 2:docs,并且面临一个NUllPointerException。 我唯一想要的是生成这里描述的文档http://docs.codehaus.org/display/ENUNCIATE/Documentation只有,所以我的pom。xml表示为: 但是,它启动了: 有什么建议吗?

  • 嗨,我有一个包含两个库模块的gradle android项目: 所以LibB依赖于LibA。因此,LibB 的 build.gradle 文件如下所示: 如您所见,我想为gradle项目中的每个库模块生成. aar文件。到目前为止还不错,但是生成对LibA具有正确依赖关系的pom.xml文件并没有像预期的那样工作: pom。LibB的xml文件如下所示: 有没有办法在生成的pom文件中指定LibA

  • 有人知道maven scr插件是否与java 10兼容吗? 我试图用java 10构建一个基于Equinox osgi的软件平台,我无法使用scr插件在目标文件夹中生成OSGI-INF文件夹结构(其中包含serviceComponents.xml)。 如果我在Java8中使用旧版本的scr插件(1.7.4),一切都可以正常工作。 如果我试图用java 10构建它,会发生以下错误。 [错误]无法执行

  • 我在配置以从WSDL和多个XSD文件生成Java类时遇到问题,这些文件都存在于同一个标准目录。 如何将jaxb2 maven插件与内联XSD一起使用?只因为答案正确地建议在插件配置中使用参数,但这个问题实际上与内联XSD有关,而我的XSD是外部的。 这里列出了插件目标参数。 我的插件配置是: 我正在用