2015-10-20 25 views
0

尝试在eclipse中构建maven项目时,我得到一个java.lang.NoClassDefFoundError: org/apache/http/impl/conn/PoolingHttpClientConnectionManager。在那里,因为它成功地建立在命令行Eclipse中的NocloassDefFound错误

我得到上述类通过在POM

 <dependency> 
      <groupId>org.apache.httpcomponents</groupId> 
      <artifactId>httpclient</artifactId> 
      <version>4.3.4</version> 
     </dependency> 

- 我试图定义以下依赖,删除本地仓库,并与-U选项运行构建但似乎并没有解决这个问题。

- 当我在eclipse中查看java构建路径时,它显示缺少某些库。我在本地回购中发现了更新版本的这些jar,并将它们添加到eclipse java构建路径中。但构建仍然失败的相同错误

注意:我有一个多模块项目在我的eclipse工作区。

- 我试着更新项目并验证eclipse是否使用了与命令行相同的settings.xml和本地回购。 - 我正在运行一个干净的安装

- 清洁工程也犯规修复

- 我看了看referrenced图书馆还有一类组织/阿帕奇/ HTTP/IMPL /康涅狄格州/ PoolingHttpClientConnectionManager本。不知道它为什么找不到它

+0

尝试关闭所有项目以将问题隔离到单个项目。也应该没有必要手动修改构建路径,它可能会增加您的问题 – hgrey

+0

我只是在工作区有依赖模块,我需要打开它来编译 –

+0

如果您关闭依赖模块,然后eclipse应该从本地maven拾取罐子repo – hgrey

回答

0

如果项目建立在命令行上,它也应该在Eclipse中构建。原因可能不是这种情况包括:

  1. Eclipse使用的settings.xml不同,因此Maven无权访问相同的回购站。这可以在首选项中进行更改。
  2. 工作空间分辨率在具有本地更改,从而建立相关的项目采摘代码失败
  3. Eclipse的Maven配置是达不到最新的,可以通过使用Maven->更新项目被固定..选项

请尝试,如果它失败请澄清,如果你有一个项目在Eclipse或多个和你看到什么错误。

另请注意,有时从命令行构建maven会删除目标文件夹,并会导致Eclipse并行运行构建重新使用相同的目标文件夹,并导致不一致的状态。为的HttpCore库

+0

嗨,我只是根据答案编辑问题,似乎还没有解决它。 –

0

尝试加入的依赖性,存在类有太多

<dependency> 
<groupId>org.apache.httpcomponents</groupId> 
<artifactId>httpcore</artifactId> 
<version>4.4.3</version> 

+0

它从依赖模块获得这个依赖。即使在它自己的pom中添加了这个依赖关系后,也没有修复它 –

0

所以,问题是,我有HTTP客户端库的两个版本。我从pom中排除了其中的一个