如何在pom.xml中正确排除springboot-actuator

时间:2019-06-19 09:55:37

标签: maven spring-boot spring-boot-actuator

即使在pom.xml中被排除之后,执行器仍然显示我的应用程序运行状况信息

按照此处的官方文档尝试

https://docs.spring.io/spring-boot/docs/current/maven-plugin/examples/exclude-dependency.html

但仍然无法禁用它,这是我的pom

<build>
    <finalName>my-app/finalName>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.5</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <configuration>
                <excludes>
                    <exclude>
                        <groupId>org.springframework.boot</groupId>
                        <artifactId>spring-boot-starter-actuator
                        </artifactId>
                    </exclude>
                </excludes>
            </configuration>
            <executions>
                <execution>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

我希望我的应用的运行状况信息不再显示,但在浏览器中访问时仍会显示

1 个答案:

答案 0 :(得分:1)

不要在<plugin>声明中使用排除项,它没有任何依赖项,这些依赖项被打包到结果工件中

相反,找到<dependencies>部分;弹簧执行器应出现在此处。

只需消除对执行器的依赖。

检查Maven是否不包含jar的最好方法是检查已编译的Spring Boot应用程序BOOT-INF/lib的内容

如果构建过程很复杂,并且您不确切知道促动器的来源,请尝试在pom上使用mvn dependency:tree,它将成为促动器的路径

一旦确定弹簧启动执行器来自groupId = X和artifactId = Y,则应将其排除在pom.xml中:

 <dependencies>
    <dependency>
        <groupId>X</groupId>
        <artifactId>Y</artifactId>
        <version>...</version>
        <exclusions> 
          <exclusion>__here__comes__
                  actuator_groupId_and_artifact_id__
          </exclusion> 
        </exclusions>
    </dependency>
    ...
 </dependencies>