Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Maven着色插件运行两次_Maven_Maven Shade Plugin - Fatal编程技术网

Maven着色插件运行两次

Maven着色插件运行两次,maven,maven-shade-plugin,Maven,Maven Shade Plugin,我的问题是maven shade插件似乎在我的项目上运行了两次 我的父母pom文件在这里:(太长了,不能在这里发布) 给我带来麻烦的项目pom(本例中为模块)如下所示: 我试图在MySQL jdbc驱动程序中添加阴影 下面是我希望使用的pom.xml中的块 <build> .... <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>mav

我的问题是maven shade插件似乎在我的项目上运行了两次

我的父母pom文件在这里:(太长了,不能在这里发布)

给我带来麻烦的项目pom(本例中为模块)如下所示:

我试图在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>
以下是此项目构建时打印的完整日志:

这是预期的行为吗?谢谢

我解决了我的问题

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

我解决了我的问题


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

maven jar插件运行了两次,并且它看起来配置错误,因为它生成了一个没有版本的工件,我假设还有其他配置。@khmarbaise我不知道这是否是问题所在。当我添加的全部内容都是
jar
?可能基于父pom?khmarbaise父pom除了“pom”包装样式外,没有任何不同之处。这和编译器插件是完全不同的。请显示完整的pom,而不仅仅是摘录,否则无法帮助maven jar插件运行两次,它看起来配置错误,因为它生成了一个没有版本的工件,我假设还有其他配置。@khmarbaise我不知道这是否是问题所在。当我添加的全部内容都是
jar
?可能基于父pom?khmarbaise父pom除了“pom”包装样式外,没有任何不同之处。这与编译器插件完全不同。请显示完整的pom,而不仅仅是摘录,否则无法提供帮助。我可以告诉您原因,因为您的父pom中存在此问题:
clean package install
。使用
clean-package
mvn-install
但不
mvn-package-install
都没有意义,因为
nstall
运行的所有生命周期阶段都已经使用
package
(除了安装阶段,
…顺便说一句:不要定义像
src/main/java`这样的东西,因为这是默认的…此外,
src/test/java
这也是默认的,所以不要定义它…我可以告诉你为什么在你的父pom中会这样:
clean package install
。使用
clean package也没有意义ode>或
mvn安装
但不是
mvn软件包安装
导致
nstall
运行的所有生命周期阶段都已使用
软件包运行
(除了安装阶段,
…顺便说一句:不要定义像
src/main/java`这样的东西,因为这是默认值…此外,
src/test/java
这也是默认值,所以不要定义它。。。
[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