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

maven-war-plugin忽略

方光华
2023-03-14

选项无效。

运行MVN clean compile war:dompanded生成一个war目录,其中。class文件位于classes目录中,它们也不会存档到lib目录中的jar中。war:war产生相同的结果。

...
<plugin>
  <artifactId>maven-war-plugin</artifactId>
  <version>2.6</version>
  <configuration>
      <archiveClasses>true</archiveClasses>
  </configuration>
</plugin>
...

JIRA票-https://issues.apache.org/JIRA/browse/mwar-355

这就是有问题的项目:https://bitbucket.org/dmos62/raudondvaris

共有1个答案

江鹏
2023-03-14

第一件事是,您应该将普通配置移到pluginmanagement块中,如下所示:

 <build>
    <pluginManagement>
      <plugins>
        <plugin>
          <artifactId>maven-war-plugin</artifactId>
          <version>2.6</version>
          <configuration>
            <archiveClasses>true</archiveClasses>
          </configuration>
        </plugin>
      </plugins>
    </pluginManagement>
  </build>

如果执行上述操作,将使用:MVN clean compile war:war在war存档中创建类

~/ws-git/so-questions/so-5 (master)$ unzip -t target/web-1.0.0-SNAPSHOT.war
Archive:  target/web-1.0.0-SNAPSHOT.war
    testing: META-INF/                OK
    testing: META-INF/MANIFEST.MF     OK
    testing: WEB-INF/                 OK
    testing: WEB-INF/classes/         OK
    testing: WEB-INF/lib/             OK
    testing: WEB-INF/lib/commons-fileupload-1.1.1.jar   OK
    testing: WEB-INF/lib/commons-io-1.1.jar   OK
    testing: WEB-INF/lib/web-1.0.0-SNAPSHOT.jar   OK
    testing: WEB-INF/web.xml          OK
    testing: META-INF/maven/com.soebes.examples.so/web/pom.xml   OK
    testing: META-INF/maven/com.soebes.examples.so/web/pom.properties   OK
    testing: META-INF/INDEX.LIST      OK
No errors detected in compressed data of target/web-1.0.0-SNAPSHOT.war.

这也适用于调用MVN clean compile war:backnated

   └── web-1.0.0-SNAPSHOT
        ├── META-INF
        └── WEB-INF
            ├── classes
            ├── lib
            │   ├── commons-fileupload-1.1.1.jar
            │   ├── commons-io-1.1.jar
            │   └── web-1.0.0-SNAPSHOT.jar
            └── web.xml
<project>
  <build>
    <plugins>
      <plugin>
        <groupId...>
        <artifactId...>
        <executions>
          <execution>
            <id>default-cli</id>
            <configuration>
              .....
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
<project...>
  <build>
    <plugins>
      <plugin>
        <groupId>...</groupId>
        <artifactId>...</artifactId>
        <executions>
          <execution>
            <id>first-cli</id>
            <configuration>
                 ....
            </configuration>
          </execution>
          <execution>
            <id>second-cli</id>
            <configuration>
                 ....
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>
mvn plugin:goal@second-cli
mvn plugin:goal@first-cli

另请参见Maven 3.3.1的发行说明。

 类似资料:
  • 但是,如果我添加以下属性,插件将忽略它(生成的WAR具有默认名称,即artifactId-version): 以下是文档的两个摘录: Warname: null FailonMissingWebXML: 如果web.xml文件丢失,构建是否失败。如果希望WAR构建时不使用web.xml文件,则设置为false。如果您正在构建一个没有web.xml文件的覆盖层,这可能很有用。 类型:布尔 因为:2.

  • 我有一个wab-web应用程序包(osgi),我需要我的自定义清单。在互联网上,我找到了一个解决方案——我们创建src/main/Resources/META-INF/MANIFEST.MF并在pom中: 但是当我在最终战争中这样使用时,我有两个MANIFEST.MF /META-INF/MANIFEST.MF /WEB-INF/类/META-INF/MANIFEST.MF 我发现的这个问题的解决

  • 问题内容: 我想用我的主要Java项目及其所有依赖项创建一个jar文件。所以我在pom文件中创建了以下插件定义: 所以我执行,将所有的依赖复制到而不是复制上,效果很好。有任何想法吗? 问题答案: 正常:您配置了名为的特殊执行,但是,直接在命令行上调用目标会创建默认执行,该默认执行与您配置的执行不同。因此,不会考虑您的配置。 在Maven中,可以在2个地方配置插件:用于所有执行(在级别使用)或用于每

  • 我正在运行一个shell来调用ant,它进一步调用Redhat中的maven。 有人能指出这个错误的背景吗? [错误]无法在项目站点上执行目标org.apache.maven.plugins:maven-war-plugin:2.3:wa r(默认war):错误:将文件[/scratch/mingtzha/12.1/../sites-dojo/target/sites/dojo-1.6.1-12.

  • 我使用GrailsCreatePOM将我的Grails应用程序转换为Maven项目 我希望创建一个war并执行mvn干净编译安装 波姆。xml 在创建战争期间,我得到以下错误 [错误]无法执行目标组织。grails:grails-maven插件:2.4.4:projectcds上的maven-grails-appwar(默认的maven-grails-appwar):执行目标组织的默认maven-

  • 我需要Maven战争插件来使用自定义清单。中频。正如我从文档中读到的那样,你可以把你的清单。MF 文件位于 src/主/资源/元 INF/ 中,并将以下配置添加到您的 pom.xml 文件中: 然而,我看到了最美。WebRoot/META-INF中添加的MF是默认值。我找不到哪里出了问题。有什么建议或链接到github项目吗?谢谢