maven dependency.systemPath必须指定绝对路径

maven dependency.systemPath必须指定绝对路径,maven,Maven,我得到了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 [ERR

我得到了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 @ [警告]com.something:dependency_module:jar:103的POM无效,传递依赖项(如果有)将不可用:为something:dependency_module:103构建有效模型时遇到2个问题 [错误].jacorb:jacorb:jar的“dependencies.dependency.systemPath”必须指定绝对路径,但为${jacorb2.3.1.home}/lib/jacorb.jar@ [错误].jacorb:jacorb:jar的'dependencyManagement.dependency.dependency.systemPath'必须指定绝对路径,但为${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>

jacorb2.3.1
C:\apps\jacorb-2.3.1\
事实上,这个项目实际上编译得很好。它似乎只在读取依赖模块的POM时抛出此错误

请帮助我理解为什么会发生这种情况以及如何解决它


(注意:在依赖模块POM中添加一个属性似乎可以解决这个问题,但我不想在项目设置中硬编码路径)

通常您只对javahome中的tools jar之类的东西使用systemPath

为了支持位置透明性和可重复构建,systemPath中的任何内容都是非常局部的

通常,我会在共享本地存储库(nexus或artifactory)中添加第三方库,或者使用mvn install:install在本地安装它们(可能会创建一个shell脚本,以便其他人可以在其构建中执行相同的操作)。不用说,第一个是最可持续的解决方案


JacORB现在是3.4版。我建议改用它,因为它有更好的Maven支持。关于JacORB的问题可以在邮件列表中询问

第二个注意事项,mvn帮助:活动配置文件,帮助:有效设置和帮助:有效pom非常适合调试