运行两次的Maven着色插件

时间:2016-03-04 05:20:55

标签: maven maven-shade-plugin

我的问题是maven-shade-plugin似乎在我的项目上运行了两次。

我的父母pom文件在这里:http://pastebin.com/EsYaCbzJ(这里发布的时间太长了)

项目的pom(在这种情况下是模块)给我带来麻烦的是:http://pastebin.com/jdyGXGpL

我试图在MySQL jdbc驱动程序中进行着色。

这是我希望用pom.xml做的一个块。

<build>
....
  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-shade-plugin</artifactId>
    <version>2.4.3</version>
    <executions>
      <execution>
        <phase>package</phase>
        <goals>
          <goal>shade</goal>
        </goals>
        <configuration>
          <shadedArtifactAttached>true</shadedArtifactAttached>
          <createDependencyReducedPom>false</createDependencyReducedPom>
          <relocations>
            <relocation>
              <pattern>mysql</pattern>
              <shadedPattern>mysql.shaded</shadedPattern>
            </relocation>
          </relocations>
          <artifactSet>
            <excludes>
              <exclude>com.fakeneth.mydynamicsql:mydynamicsql-core</exclude>
              <exclude>junit:junit</exclude>
            </excludes>
          </artifactSet>
        </configuration>
      </execution>
    </executions>
  </plugin> 
...
</build>

现在,当我尝试构建项目时,问题发生(或似乎发生)。我使用与pom.xml中所见的完全不同的东西构建它。

由于某种原因,以下几行显示两次,彼此之后一点点;

  

[INFO] --- maven-shade-plugin:2.4.3:shade(默认)@mydynamicsql-standalone ---

     

[INFO]从阴影罐中排除com.fakeneth.mydynamicsql:mydynamicsql-core:jar:0.0.1-SNAPSHOT。

     

[INFO]在阴影jar中包含mysql:mysql-connector-java:jar:5.1.38。

     

[INFO]附加阴影神器。

以下行也会连续显示两次;

[INFO] Installing C:\Users\cneth_000\Documents\EclipseWorkspace\mydynamicsql-parent\mydynamicsql-standalone\target\mydynamicsql-standalone-0.0.1-SNAPSHOT-shaded.jar to C:\Users\cneth_000\.m2\repository\com\fakeneth\mydynamicsql\mydynamicsql-standalone\0.0.1-SNAPSHOT\mydynamicsql-standalone-0.0.1-SNAPSHOT-shaded.jar

以下是构建此项目时打印内容的完整日志:http://pastebin.com/L3RQaUvv

这是预期的行为吗?感谢

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。

当我构建项目时,我正在构建我的父项目。事实证明,通过单独构建每个模块不会导致我的所有插件执行两次。出于某种原因,构建父项目导致每个模块构建两次。