maven依赖的本地使用与提供的范围

时间:2014-03-24 16:07:12

标签: java maven dependencies

我需要在我的代码中使用外部框架。 我已经将依赖项添加到了我的pom.xml中。但问题是我们需要在远程主机上的所有项目中使用相同的jar,因此我们使用<scope>provided</scope> 如果我在远程主机上运行我的项目,那么每件事情都会很好,但是当我在本地运行它时我会得到

java.lang.NoClassDefFoundError...
...
Caused by: java.lang.ClassNotFoundException:

我已经检查过 - 我的本地存储库包含依赖项,但我仍然无法使用它。 我应该把我的* jar文件放在哪里,以便我的应用程序可以访问它?

更新 我们使用Jetty,但我们经常使用ruby脚本运行java代码。

1 个答案:

答案 0 :(得分:0)

您需要使本地环境与生产目标环境相同,因为maven在运行时不会提供具有“提供”范围的依赖项。

您没有说明您使用什么来运行代码,但假设您使用tomcat,您可以将.jar文件放在$ CATALINA_HOME / lib的共享库目录中