从构建中排除maven依赖项

从构建中排除maven依赖项,maven,pom.xml,Maven,Pom.xml,我有两个maven项目。项目A和项目B.B使用A作为依赖项。当我将B构建为war时,Maven导出a及其依赖项。如何告诉maven在导出时不要单独包含此依赖关系树?我在maven war配置中找不到excludes标记 注意:我不能在依赖项中使用提供的作用域,因为我需要它来使用嵌入式tomcat进行测试 项目B Pom的片段 <dependencies> <!-- Project A --> <dependency> <groupId>te

我有两个maven项目。项目A和项目B.B使用A作为依赖项。当我将B构建为war时,Maven导出a及其依赖项。如何告诉maven在导出时不要单独包含此依赖关系树?我在maven war配置中找不到excludes标记

注意:我不能在依赖项中使用提供的作用域,因为我需要它来使用嵌入式tomcat进行测试

项目B Pom的片段

<dependencies>
<!-- Project A -->
<dependency>
    <groupId>test</groupId>
    <artifactId>test-core</artifactId>
    <version>0.0.1-SNAPSHOT</version>
</dependency>
</dependencies>

<build>
  <plugins>
    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.6.1</version>
        <configuration>
            <encoding>UTF-8</encoding>
            <source>1.8</source>
            <target>1.8</target>
        </configuration>
    </plugin>
    <plugin>
      <groupId>org.apache.tomcat.maven</groupId>
      <artifactId>tomcat7-maven-plugin</artifactId>
      <version>2.2</version>
      <configuration>
        <path>/</path>
        <port>80</port>
      </configuration>
    </plugin>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-war-plugin</artifactId>
        <version>3.2.2</version>
        <configuration>
            <!-- Exclude Tag is not available in configuration -->
        </configuration>
    </plugin>  
  </plugins>

测试
试芯
0.0.1-快照
maven编译器插件
3.6.1
UTF-8
1.8
1.8
org.apache.tomcat.maven
tomcat7 maven插件
2.2
/
80
org.apache.maven.plugins
maven战争插件
3.2.2

您需要创建配置文件,您可以创建两个配置文件,一个用于开发(嵌入式tomcat,带dep A),另一个用于生产(不带dep)


发展
真的
戳
假如

我终于决定在git中克隆一个分支,并将其命名为release branch。现在将有一个不同的Pom,即,将提供B中的项目a范围。在Dev分支中进行了一系列更改之后,我将把它挑选到release分支中并构建jar。另外,我相信这对Jenkins来说应该是好的(还没有测试,但这是下一步)

你可以创建两个配置文件,一个用于嵌入式tomcat,另一个用于提供,将你的依赖关系作为rubtime和提供的另一个放在tomcat配置文件中。这能解决你的问题吗?谢谢@Arturo看起来这是唯一的办法。