java - maven-checkstyle-plugin 中的变量 ${project.version} 来自子项目

标签 java maven apache-camel

我有一个与 Camel parent 的项目。

  <parent>
      <groupId>org.apache.camel</groupId>
      <artifactId>camel-parent</artifactId>
      <version>2.23.1</version>
   </parent>

 <groupId>my.project</groupId>
 <artifactId>myArtifact</artifactId>
 <name>myArtifact</name>
 <version>1.0.0-SNAPSHOT</version>
 ...

当我运行时

mvn checkstyle:check 

我收到:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check (default-cli) on project demo: 
Execution default-cli of goal org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0:check failed: 
Plugin org.apache.maven.plugins:maven-checkstyle-plugin:3.0.0 or one of its dependencies could not be resolved: 
Could not find artifact org.apache.camel:camel-buildtools:jar:1.0.0-SNAPSHOT

1.0.0-SNAPSHOT 来 self 的项目版本 = 1.0.0-SNAPSHOT

这是 camel-parent-2.23.1.pom

的一部分
<plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-checkstyle-plugin</artifactId>
          <version>${maven-checkstyle-plugin-version}</version>
          <dependencies>
            <dependency>
              <groupId>org.apache.camel</groupId>
              <artifactId>camel-buildtools</artifactId>
              <version>${project.version}</version>
            </dependency>
            <dependency>
              <groupId>com.puppycrawl.tools</groupId>
              <artifactId>checkstyle</artifactId>
              <version>${maven-checkstyle-version}</version>
            </dependency>

我认为mvn checkstyle:check 必须使用camel版本(2.23.1)作为project.version。

为什么这不起作用?

最佳答案

如果您构建子项目,则 ${project.version}$ 是子项目的版本号。根据定义是在父 POM 还是子 POM 中,属性不能具有不同的值。

关于java - maven-checkstyle-plugin 中的变量 ${project.version} 来自子项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55709207/

相关文章:

apache-camel - Apache Camel 拆分大文件

java - Apache Camel -- Hazelcast 主题发布/订阅 -- 如何在订阅者中序列化字符串消息

java - Java 8 是否提供了一种重复值或函数的好方法?

java - Hibernate WHERE 不适用于带有 null 成员的 @Embedded

maven - 我们如何在 GitHub 中强制执行强制性审查,但仍然允许从 CI 发布 Maven 版本?

maven - PaxExam OSGI 容器和 ServiceLookupException

java - Apache Camel - 将文件名从路由 1 传递到 FTP 的路由 2

java - 在maven pom中为每个依赖定义具体的JDK版本

java - 正则表达式匹配单词字符,任何单词之间只有 1 个空格

java - jetty.xml 在 Maven 项目中的位置?