我和maven得到了以下错误
[WARNING] The POM for com.something:dependency_module:jar:103 is invalid, transitive dependencies (if any) will not be available: 2 problems were encountered while building the effective model for something:dependency_module:103
[ERROR] 'dependencies.dependency.systemPath' for org.jacorb:jacorb:jar must specify an absolute path but is ${jacorb2.3.1.home}/lib/jacorb.jar @
[ERROR] 'dependencyManagement.dependencies.dependency.systemPath' for org.jacorb:jacorb:jar must specify an absolute path but is ${jacorb2.3.1.home}/lib/jacorb.jar @
问题似乎是$ {jacorb2.3.1.home}未得到解决.但是变量实际上是在settings.xml中设置的.
<profile>
<id>jacorb2.3.1</id>
<properties>
<jacorb2.3.1.home>C:\apps\jacorb-2.3.1\</jacorb2.3.1.home>
</properties>
</profile>
Run Code Online (Sandbox Code Playgroud)
事实上,项目实际上编译得很好.它似乎只在读取依赖模块的POM时抛出此错误.
请帮助我理解为什么会发生这种情况以及如何解决它.
(注意:在依赖模块POM中添加属性似乎可以解决此问题,但我不想在项目设置中硬编码路径)
通常,您仅将 systemPath 用于 javahome 中的工具 jar 之类的东西。
为了支持位置透明性和可重复构建,systemPath 内的任何内容都是极其本地化的。
通常,我会在共享本地存储库(nexus 或 artifactory)中添加第 3 方库,或者仅使用 mvn install:install 在本地安装它们(可能创建一个 shell 脚本,以便其他人可以在其构建中执行相同的操作)。不用说,第一个是最可持续的解决方案。
http://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html
| 归档时间: |
|
| 查看次数: |
14087 次 |
| 最近记录: |