2010-07-24 55 views
0

我最近开始在我的一个Java Web应用程序项目中使用Maven2。现在我遇到了很多问题,有时候项目没有明显的原因就无法构建,然后当没有任何项目完成时突然开始工作。或者有时我们的项目成员必须从他们的硬盘中删除项目并从SVN再次下载项目。在Eclipse中Maven似乎有很多非常奇怪的错误,但是我想知道是否有可能解决这个问题的一些问题。我知道Maven2应该能够获得添加jar的依赖关系,但是当我在Eclipse中添加一个新的依赖项时,它在构建它时失败,它说依赖关系丢失了。我如何让maven自动下载这些缺失的依赖关系?我有Tuckey UrlRewrite Filter在使用,但公共仓库只有旧版本的这种依赖,所以当我使用这个旧版本(3.1时,我需要3.2)。我怎样才能将其包含到项目中?我们在这个项目中有很多程序员,因此设置本地存储库意味着我们所有的程序员都必须安装本地存储库。Maven 2的问题

+0

当你说“我在Eclipse中添加新的依赖项”时,你的意思是在你的pom.xml中声明它吗? – 2010-07-24 17:35:21

+0

是的,我添加了对pom.xml的依赖关系,并且无法获得该依赖关系的depdendecies .. – newbie 2010-07-24 17:36:41

+0

您可以验证您的本地maven存储库缓存以查看是否包含了artifact pom.xml。您的本地mvn存储库是一个.m2文件夹,通常位于您的文件系统下的用户文件下。如果没有pom。xml文件,maven将无法找到您的工件的传递依赖关系。如果没有包含,则删除de文件夹,然后再次尝试mvn编译 – 2010-07-24 17:42:37

回答

2

现在我遇到了很多问题,有些时候项目无法建立,没有明显的原因,然后当没有任何项目完成时突然开始工作。 (...)

好的,这个免费的咆哮有什么意义?我使用Maven,并且我的构建是100%可重现的,为了达到这个目的,我们有众所周知的实践。也许你只是没有跟着他们。无论如何,如果你对它不满意,我可以说什么,不要使用它。

我已经认识到在Maven2应该能够得到依存关系添加罐子,但是当我加入Eclipse的一个新的依赖,当我建立它,它说的依赖性缺少失败。我如何让maven自动下载这些缺失的依赖关系?

我想你误解了,如果你没有提供他们所需的信息,Eclipse将不会猜测Maven是如何协调添加的。必须通过手动编辑POM或使用m2eclipse向导来在POM中声明依赖关系。

如果这是你所做的(如果误解了这个问题),那么请提供<dependency>声明和确切的错误跟踪。

我有Tuckey UrlRewrite过滤器在使用,但公共仓库只有旧版本的这个依赖关系,所以当我使用这个旧版本(3.1时,我需要3.2)。我怎样才能将其包含到项目中?我们在这个项目中有很多程序员,因此设置本地存储库意味着我们所有的程序员都必须安装本地存储库。

这个问题已经被问了几次,见例如Maven, how to add additional libs not available in repo,我建议两个可能的解决方案(使用公司资源库像Nexus"file-based" repository,前者的建议是一个长期的解决方案的首选之一)。