我有一个Eclipse项目,Maven管理依赖项。我还有几个不是Maven启用的jar文件,我在src / main / webapp / WEB-INF / lib找到它们。我没有在Eclipse中构建/运行项目的问题。在Eclipse中构建项目后,运行“mvn:package”也没有问题。但是,在我调用“mvn:clean”之后,如果我运行“mvn:package”,我将得到编译错误,因为它无法在src / main / webapp / WEB-INF / lib下找到依赖jar文件。我需要做的是重建Eclipse项目,然后“mvn:package”。因此,我不能在Eclipse IDE之外调用“mvn:package”。
如何解决这个问题?
感谢。
答案 0 :(得分:2)
你必须将不是“Maven启用的工件”放到适当的Maven存储库(Nexus,Artifactory),而不是改变你的项目以适当地使用依赖关系。要么你做Maven或不做,但两者之间没有任何东西。 Maven是一个构建工具,不仅用于依赖管理。使用Eclipse后,这些更改将正常工作(如果您使用M2Eclipse)。如果您正确使用Maven,您可以通过Eclipse执行这两项操作或在命令行上调用mvn package。
答案 1 :(得分:0)
如果您无法设置推荐的环境(maven存储库),则可以将依赖关系System dependencies添加到pom.xml
。
<project>
...
<dependencies>
<dependency>
<groupId>foo</groupId>
<artifactId>bar</artifactId>
<version>1.2.3</version>
<scope>system</scope>
<systemPath>${basedir}/src/main/webapp/WEB-INF/lib/foobar.jar</systemPath>
</dependency>
</dependencies>
...
</project>