pom.xml中的错误

sab*_*sab 5 java pom.xml maven

我收到如下错误:

对于依赖项依赖性{groupId = weblogic,artifactId = webservices,version = 9.2,type = jar}:系统范围的依赖项必须指定绝对路径系统路径

不确定有什么问题.我配置了环境变量,我在pom.xml中使用它

Tom*_*icz 11

使用system作用域时,必须提供依赖项的绝对路径(与在Maven存储库中搜索的任何其他依赖项相对).请参阅系统相关介绍相关机制.

例:

<dependency>
  <groupId>javax.sql</groupId>
  <artifactId>jdbc-stdext</artifactId>
  <version>2.0</version>
  <scope>system</scope>
  <systemPath>${java.home}/lib/rt.jar</systemPath>
</dependency>
Run Code Online (Sandbox Code Playgroud)

为什么不在本地/公司存储库中安装第三方工件?

编辑:如果您已systemPath定义但怀疑环境变量未解析,您将收到以下错误(请注意路径中存在变量):

The project ... has 1 error
'dependencies.dependency.systemPath' for weblogic:webservices:jar must specify an absolute path but is ${env.BEA_HOME}/lib/xyz.jar @ line ...
Run Code Online (Sandbox Code Playgroud)

但是,如果Maven发现变量并正确解析它,上面引用的错误消息将包含已解析的目录(不是占位符).在Ubuntu/Maven 3上测试.

  • 这一切都很好,除非你想使用类似于JDK/lib目录下的tools.jar而不是JDK/jre/lib.因此,一方面,Maven文档说"$ {java.home}指定当前JRE_HOME环境的路径,使用相对路径获取,例如:<jvm> $ {java.home} ../ bin/java. exe </ jvm>"另一方面,当你为系统路径做这件事时,它会抱怨.当然,最好将java.home属性等同于环境变量,然后调用JRE子目录的路径,如$ {jre.home}? (3认同)