用YAML配置Maven -Maven -enforcer语言 - Plugin是特定的 - 不起作用



我的maven pom是yaml(感谢 io.takari.polyglot(,我很难在yaml中编写config,因为该示例具有值,但是我相信我应该配置 maven-enforcer-plugin的 CC_2规则不服用includesexcludes

这是我到目前为止的尝试:

modelVersion: 4.0.0
artifactId: my-app
groupId: com.adam.stuff
version: 3.3.1
packaging: jar
properties:
    spring.boot.version: 1.5.10.RELEASE
    spring.core.version: 4.3.14.RELEASE
dependencies:
  - artifactId: spring-boot-dependencies
    groupId: org.springframework.boot
    version: ${spring.boot.version}
    type: pom
  - artifactId: spring-boot-starter-web
    groupId: org.springframework.boot
    version: ${spring.boot.version}
  - artifactId: spring-boot-starter-test
    groupId: org.springframework.boot
    version: ${spring.boot.version}
  - artifactId: spring-context
    groupId: org.springframework
    version: ${spring.core.version}
  - artifactId: spring-web
    groupId: org.springframework
    version: ${spring.core.version}
build:
    plugins:
      - artifactId: maven-enforcer-plugin
        groupId: org.apache.maven.plugins
        version: 3.0.0-M1
        executions:
          - id: enforce-ban-transitive-deps
            goals: [enforce]
            configuration:
                rules: 
                    banTransitiveDependencies: 
                        comment: "Don't be a dummy"
      - artifactId: spring-boot-maven-plugin
        groupId: org.springframework.boot
        version: ${spring.boot.version}
        executions:
          - goals: [repackage]
        configuration:
            fork: true
            executable: true

但是插件抱怨:

[error]无法执行目标org.apache.maven.plugins:maven-enforcer-plugin:3.0.0-m1:project my-app上的强制(强制键键式传播deps(:无法解析配置mojo org.apache.maven.plugins的:maven-enforcer-plugin:3.0.0-m1:对参数规则的执行:无法创建接口org.apache.maven.enforcer.rule.rule.api.enforcerrule的实例:org.apache:org.apace。maven.enforcer.rule.api.enforcerrule。(( -> [help 1]

这是文档:https://maven.apache.org/enforcer/enforcer-rules/bantransitivedendendendencies.html

遵循该示例将包括和排除此事,这是我现在不想做的 - 因为我想将其设置为播放,一旦我弄清楚了配置!

我还尝试通过https://www.site24x7.com/tools/xml-to-yaml.html放置XML,但仍会给出相同的错误。

如果您想尝试pom.yml,则创建一个名为.mvn/extensions.xml的DIR和文件,然后将其放在项目的根部(pom.xml旁边(,然后进行:

<?xml version="1.0" encoding="UTF-8"?>
<extensions>
    <extension>
        <groupId>io.takari.polyglot</groupId>
        <artifactId>polyglot-yaml</artifactId>
        <version>0.2.1</version>
    </extension>
</extensions>

根据规则禁令的传递依赖项的文档:

                    banTransitiveDependencies:
                        message: ...

而不是:

                    banTransitiveDependencies:
                        comment: ...

以下参数由此规则支持:

•...
•...
•消息 - 如果规则失败,向用户发出可选消息。将替换生成的报告消息。

最新更新