我正在尝试在多模块项目上使用分类器,如下所示
根项目
--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 以启用完整的调试日志记录。
[错误] ...
我尝试在我的 servlet 项目上执行以下命令
$ mvn -P dev 帮助: effective-pom
我看到分类器解决得很好。但它不适用于传递依赖。
唯一的解决方法是在 Maven 启动时注入该属性:-DenvClassifier=dev
最后,我在 jira 上看到了一些问题,但没有解决,我该如何解决这个问题?我想我不是地球上唯一一个在多模块项目上使用带有分类器的 Maven 的人......
| 归档时间: |
|
| 查看次数: |
1573 次 |
| 最近记录: |