加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 程序设计 > 正文

配置 – 有没有办法在复制依赖项目标期间使用maven-dependency-plugin在测试和编译之间划分工件?

发布时间:2020-05-23 11:03:46 所属栏目:程序设计 来源:互联网
导读:我有以下配置: plugin groupIdorg.apache.maven.plugins/groupId artifactIdmaven-dependency-plugin/artifactId version2.6/version executions execution idanalyze/id

我有以下配置:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <version>2.6</version>
  <executions>
      <execution>
          <id>analyze</id>
          <goals>
              <goal>analyze-only</goal>
          </goals>
          <configuration>
              <failOnWarning>false</failOnWarning>
          </configuration>
      </execution>
      <!--Copy the dependencies so ant build has the same versions-->
      <execution>
          <id>copy-dependencies</id>
          <phase>package</phase>
          <goals>
              <goal>copy-dependencies</goal>
          </goals>
          <configuration>
              <outputDirectory>${project.basedir}/lib</outputDirectory>
              <overWriteIfNewer>true</overWriteIfNewer>
              <stripVersion>true</stripVersion>
              <overWriteReleases>false</overWriteReleases>
              <overWriteSnapshots>true</overWriteSnapshots>
              <excludeTransitive>false</excludeTransitive>
          </configuration>
      </execution>
  </executions>
</plugin>

上面的配置会转储同一文件夹中的所有内容.我尝试通过添加测试配置来排除测试范围但是给出了错误:

Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.6:copy-dependencies (copy-dependencies) on project pcgen: Can’t exclude Test scope,this will exclude everything.

有没有办法将测试依赖项与其他依赖项分开,以便我可以复制到不同的文件夹?

I tried excluding the test scope by adding the test configuration but gives an error

我偶然发现了这个,可能是出于不同的原因,但我认为我找到了答案.试试这个,例如.当然,您需要在当前目录中使用pom.xml.

mvn dependency:copy-dependencies 
-DincludeScope=runtime 
-DexcludeScope=provided 
-DoutputDirectory=target/war/WEB-INF/lib

感谢Brian Fox,他在Maven Dependency Plugin Issue #128写道:

You shouldn’t ever need to include or exclude two scopes at the same time because they are comprised of each other. The default is to include test scope,which includes everything. If you don’t want any test dependencies or provided dependencies,then include runtime and exclude provided.

The scopes being interpreted are the scopes as maven sees them,not as specified in the pom. So the “test” scope includes everything,runtime includes compile but not provided etc.

2013年5月,includeScope documentation was updated:

/**
  * Scope to include. An Empty string indicates all scopes (default).
  * The scopes being interpreted are the scopes as
  * Maven sees them,not as specified in the pom. In summary:
  * <ul>
  * <li><code>runtime</code> scope gives runtime and compile dependencies,</li>
  * <li><code>compile</code> scope gives compile,provided,and system dependencies,</li>
  * <li><code>test</code> (default) scope gives all dependencies,</li>
  * <li><code>provided</code> scope just gives provided dependencies,</li>
  * <li><code>system</code> scope just gives system dependencies.</li>
  * </ul>
  * 
  * @since 2.0
  */
 @Parameter( property = "includeScope",defaultValue = "" )
 protected String includeScope;

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读