当前位置: 首页 > 知识库问答 >
问题:

使用YAML-Maven enforcer插件配置Maven是特定的-不起作用

白腾
2023-03-14

我的Maven POM是YAML(多亏了io.takari.polyglot),我很难在YAML中编写配置,因为这个例子有值,但是我相信我应该配置maven-强制执行-插件的不包含代码或排除代码的规则。

以下是我迄今为止的尝试:

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

但该插件抱怨:

[错误]无法执行目标组织。阿帕奇。专家插件:maven enforcer插件:3.0.0-M1:ProjectMy app上的enforce(强制禁止可传递的deps):无法解析mojo org的配置。阿帕奇。专家插件:maven enforcer插件:3.0.0-M1:enforce for parameter规则:无法创建接口组织的实例。阿帕奇。专家执法者。规则应用程序编程接口。强制腐败组织。阿帕奇。专家执法者。规则应用程序编程接口。强制执行。() -

医生来了https://maven.apache.org/enforcer/enforcer-rules/banTransitiveDependencies.html

接下来的例子将包括和排除一些东西,我现在不想这样做,因为我想在我弄清楚配置后设置它来玩!

我也尝试过使用他们的XMLhttps://www.site24x7.com/tools/xml-to-yaml.html但它仍然给出了相同的错误。

如果您想尝试使用pom。yml然后创建一个名为的目录和文件。mvn/扩展。xml并将其放在项目的根目录中(紧挨着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>

共有1个答案

洪光霁
2023-03-14

根据规则“禁止传递依赖项”文档,它是:

                    banTransitiveDependencies:
                        message: ...

而不是:

                    banTransitiveDependencies:
                        comment: ...

此规则支持以下参数:

• ...

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

 类似资料:
  • 这是我第一次使用Spring-Data-jpa和Querydsl。 我正在尝试配置数据模型的自动生成。 我执行了以下步骤: 我在pom中添加了以下依赖项。xml 然后我添加了以下插件 但我总是在pom中遇到同样的错误。xml: 生命周期配置未涵盖插件执行:com。迈塞马。maven:maven apt插件:1.0.2:流程(执行:默认,阶段:生成源代码) 并且未生成和填充target/genera

  • 我在运行包含比Hadoop发行版(CDH 5.2)中包含的版本更新的Guava的Hadoop作业时遇到了一些麻烦。这是一个已知的问题。我试图通过使用Maven shade插件对库进行着色来解决这个问题。因此,我在我的中添加了以下几行:

  • 我使用了,并在那里声明了manifestEntries。 从

  • 这个插件是关于杀死黑客的,但由于某些原因,它不会通过命令重新加载配置,我尝试了所有方法,但什么都没有,当我更改配置时,我必须重新加载服务器,而不是通过命令。 在其他类上,配置设置为true/false,当我转到config时,配置不会保存

  • 引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> <!-- 使用

  • 引入 Maven 依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core</artifactId> <version>${shardingsphere.version}</version> </dependency> 规则配置 Sha