maven 不解析传递依赖分类器上的配置文件属性

Ale*_*e T 5 maven-3 maven

我正在尝试在多模块项目上使用分类器,如下所示

根项目
--ejb
--jar
--servlet
--ear

ejb 项目依赖于 jar 项目 war 项目依赖于 ejb 项目并通过传递方式依赖于 jar 项目

不幸的是,在我的servlet项目中,jar项目的分类器从未被解析

我还定义了一个配置文件

 <profile>
  <id>dev</id>
    <properties>
      <maven.deployment.suffix>dev</maven.deployment.suffix>       
      <envClassifier>dev</envClassifier>
      <exploded>true</exploded>
       ...
    </properties>
 </profile>
Run Code Online (Sandbox Code Playgroud)

当我尝试使用此配置文件和分类的工件打包项目时,我总是出现以下错误:

mvn -P dev clean install
...
[错误] 无法在项目 servlet 上执行目标:无法解析 >> 项目 root.project.servlets:servlet:war:1.0 的依赖关系:无法传输工件 root.project.projects:logging:jar:${ env 分类器}:1.0 从/到 nexus ( http://.../nexus/content/groups/public ): > IllegalArgumentException: 索引 102 处的路径中存在非法字符:.../nexus> /content/groups/public /root/project/projects/logging/1.0/logging-1.0-${envClassifier}.jar -> [Help 1]
[ERROR]
[ERROR] 要查看错误的完整堆栈跟踪,请使用 - 重新运行 Maven电子开关。
[错误] 使用 -X 开关重新运行 Maven 以启用完整的调试日志记录。
[错误] ...

将示例上传到 bitbucket

我尝试在我的 servlet 项目上执行以下命令

$ mvn -P dev 帮助: effective-pom

我看到分类器解决得很好。但它不适用于传递依赖。

唯一的解决方法是在 Maven 启动时注入该属性:-DenvClassifier=dev

最后,我在 jira 上看到了一些问题,但没有解决,我该如何解决这个问题?我想我不是地球上唯一一个在多模块项目上使用带有分类器的 Maven 的人......