Maven 2 maven程序集插件导致测试运行两次

Maven 2 maven程序集插件导致测试运行两次,maven-2,maven-assembly-plugin,Maven 2,Maven Assembly Plugin,我有一个maven项目,在那里我正在使用汇编插件。 我通常通过运行以下命令来创建我的工件: mvn清理验证程序集:程序集 (我有集成测试,我想单独运行单元测试) 当它运行时,程序集插件正在运行单元测试本身。 这会导致它们运行两次 有没有办法告诉程序集插件不要运行测试? 我很想分两个步骤来执行此操作: 1.清洁验证 2.如果上一个命令成功,请运行mvn assembly:assembly-DskipTests=true 但是,这有点笨拙,宁愿使用单一命令 谢谢, 史蒂文 当它运行时,程序集插件正在

我有一个maven项目,在那里我正在使用汇编插件。 我通常通过运行以下命令来创建我的工件: mvn清理验证程序集:程序集 (我有集成测试,我想单独运行单元测试)

当它运行时,程序集插件正在运行单元测试本身。 这会导致它们运行两次

有没有办法告诉程序集插件不要运行测试? 我很想分两个步骤来执行此操作: 1.清洁验证 2.如果上一个命令成功,请运行mvn assembly:assembly-DskipTests=true

但是,这有点笨拙,宁愿使用单一命令

谢谢, 史蒂文

当它运行时,程序集插件正在运行单元测试本身。这会导致它们运行两次

目标在执行自身之前调用生命周期阶段包的执行,因此在命令行上运行它将调用
包之前的任何包。这包括
测试
阶段

有没有办法告诉程序集插件不要运行测试

否。我的建议是将程序集创建为构建生命周期的一部分,而不是在命令行上调用插件,即在特定阶段绑定它。例如:

<project>
 ...
 <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <version>2.2-beta-5</version>
        <executions>
          <execution>
            <id>create-my-assembly</id>
            <phase>package</phase><!-- change this if not appropriate -->
            <goals>
              <goal>single</goal>
            </goals>
            <configuration>
              ...
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

...
maven汇编插件
2.2-β-5
创建我的程序集
包裹
单一的
...
如果您不希望在集成测试失败时创建程序集,请在稍后阶段绑定它(例如,
集成后测试
验证


如果您不希望系统地创建程序集,请将上述配置放在配置文件中。

Hi,我已经让程序集在包上自动运行(阶段设置为包)。然而,它只是运行单元测试本身,即使只是运行:mvn clean package,所以测试阶段的常规转换运行第一组单元测试,然后程序集绑定到包阶段再次运行单元测试。@如果绑定正确的目标,即
single
,则不会。我怀疑您绑定了
assembly
,它应该只在命令行上使用。我正在使用附加的目标。这是为了在发布期间将其上载到我的存储库。在我使用附加的目标之前,我尝试构建助手插件来附加工件,但是它抱怨工件具有相同的ID(或者类似的奇怪的东西)。我以后再进一个单球。谢谢