maven:`mvn clean package install`

问题描述 投票:0回答:1

我已经使用maven很多年了,并且遇到了一个奇怪的错误,这让我想到了这个奇怪的问题: 为什么

mvn clean install
mvn clean package install
不一样? 它在文档中说,当您调用
the install phase
时,所有
previous required phases
都会被调用。

这是我的示例,它只是一个

pom.xml
文件(因此除了这个文件之外不需要其他任何东西来重现问题)

  • mvn clean install
    --> 成功
  • mvn clean package install
    --> 失败(任务
    jar:3.3.0:jar (default-jar)
    第二次执行...)
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.example</groupId>
  <artifactId>mdr-wiremock-shaded</artifactId>
  <version>1.0.1</version>
  <packaging>jar</packaging>

  <dependencies>
    <dependency>
      <groupId>com.github.tomakehurst</groupId>
      <artifactId>wiremock-jre8-standalone</artifactId>
      <version>2.31.0</version>
      <optional>true</optional>
    </dependency>
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.6.0</version>
        <executions>
          <execution>
            <goals>
              <goal>shade</goal>
            </goals>
            <phase>package</phase>
            <configuration>
              <relocations>
                <relocation>
                  <pattern>org.slf4j</pattern>
                  <shadedPattern>shaded.org.slf4j</shadedPattern>
                </relocation>
              </relocations>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>

</project>


maven maven-shade-plugin
1个回答
0
投票

尽管文档中没有明确指定,但实际上多次调用目标似乎是“正常”的......

© www.soinside.com 2019 - 2024. All rights reserved.