我在Eclipse中使用Maven创建了一个Web项目。我需要pentaho库jar的项目,这是我的依赖
<dependency>
<groupId>pentaho-library</groupId>
<artifactId>libbase</artifactId>
<version>1.2.8</version>
<optional>true</optional>
</dependency>
运行mvn:compile
或mvn eclipse:eclipse
时,正在下载maven_repo
本地目录下的JAR文件我正在使用以下战争插件
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
</plugin>
问题是,当我运行mvn war:war
创建war文件时,它没有将libbase-1.2.8.jar复制到WEB-INF/lib文件夹。但是它正在复制所有其他JAR文件。有什么问题吗?
尝试删除<optional>true</optional>
依赖机制介绍:传递依赖告诉我们optional
如下:-
可选依赖项 -如果项目Y依赖于项目Z,项目Y的所有者可以使用
"optional"
元素将项目Z标记为optional dependency
。当项目X依赖于项目Y时,X将只依赖于Y和,而不依赖于Y的可选依赖项Z。然后,项目X的所有者可以根据自己的选择显式地添加对Z的依赖。(将可选依赖视为"默认情况下不包含"可能会有所帮助。)
那么optional
的依赖将不会被包含到我们的WEB-INF/lib
中。