gpt4 book ai didi

java - 未按预期评估 Maven 属性(os-maven-plugin)

转载 作者:行者123 更新时间:2023-12-01 12:14:19 24 4
gpt4 key购买 nike

我有一个带有模块的父项目。其中一个模块在其 pom 文件中声明了以下内容:

...
<build>
<extensions>
<extension>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.2.3.Final</version>
</extension>
</extensions>
</build>
...
<dependencies>
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative</artifactId>
<version>${netty.tcnative.version}</version>
<classifier>${os.detected.classifier}</classifier>
</dependency>
</dependencies>
...

此项目将在 mvn package 时构建成功从父项目运行。然后我想将此子模块项目用作其他 gradle 项目中的依赖项,因此我将父项目安装到我的 maven 本地 repo 并在我的 build.gradle 文件中声明依赖项。

在构建 gradle 项目时,我遇到了这个错误:
Could not resolve all dependencies for configuration ':runtime'.
> Could not find netty-tcnative-${os.detected.classifier}.jar (io.netty:netty-tcnative:1.1.33.Fork2).
Searched in the following locations: https://repo.grails.org/grails/core/io/netty/netty-tcnative/1.1.33.Fork2/netty-tcnative-1.1.33.Fork2-${os.detected.classifier}.jar

为什么是 ${os.detected.classifier}没有被评估?需要注意的是 ${netty.tcnative.version}正在被评估为父 pom 中定义的属性,因为它出现在正在寻找的 jar 路径中。

谢谢你。

编辑:我认为问题可能是因为 gradle 引用了依赖项,并且没有调用 maven 来执行评估表达式的 os-maven-plugin。只是一个猜测。

最佳答案

我看到了正确解析 os.detected.classifier 的问题当我的 POM 包含一个也定义了 os-maven-plugin 的父 POM成为一个延伸。

您可以尝试将其配置为插件
https://github.com/trustin/os-maven-plugin#issues-with-eclipse-m2e-or-other-ides

<plugin>
<groupId>kr.motd.maven</groupId>
<artifactId>os-maven-plugin</artifactId>
<version>1.6.1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>detect</goal>
</goals>
</execution>
</executions>
</plugin>

关于java - 未按预期评估 Maven 属性(os-maven-plugin),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30905584/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com