Java 用于eclipse的guava-11.0.1.jar和Maven插件

Java 用于eclipse的guava-11.0.1.jar和Maven插件,java,eclipse,maven,guava,caliper,Java,Eclipse,Maven,Guava,Caliper,我在Eclipse中创建了maven项目,并添加了一些依赖项 以下是依赖项的完整列表: <dependencies> <dependency> <groupId>javax.servlet</groupId> <artifactId>servlet-api</artifactId> <version>2.4</version> &

我在Eclipse中创建了maven项目,并添加了一些依赖项

以下是依赖项的完整列表:

<dependencies>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>servlet-api</artifactId>
        <version>2.4</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>jsp-api</artifactId>
        <version>2.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>com.google.caliper</groupId>
        <artifactId>caliper</artifactId>
        <version>0.5-rc1</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>1.7.1</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.7.1</version>
    </dependency>
</dependencies>
当我试图运行我的类时,我得到了:
线程“main”java.lang.NoClassDefFoundError中的异常:com/google/common/base/Splitter


请给我一个建议

首先,我发现您有一个错误:

阅读C:\Users\User1.m2\repository\com\google\guava\guava\11.0.1\guava-11.0.1.jar;无效的LOC标头(错误签名)

这可能是由于lib下载过程中出现故障造成的。解决方案是删除文件夹C:\Users\User1.m2\repository\com\google并重试构建

此外,我看到您正在使用一个非常旧的maven编译器插件版本(2.0.2),这使我得出结论,您没有配置maven编译器插件,这意味着您正在使用java 1.4,但至少需要1.5。您必须按照以下方式配置maven编译器插件:

<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>

org.apache.maven.plugins
maven编译器插件
3
1.6
1.6

也许你必须改为1.5。

你好,弗兰克,谢谢你的回复!我删除了google目录,再次运行了“Maven安装”,目录和子目录被重新创建,所有的lib都被下载了。我使用的是Maven插件的最新版本,它是Maven设置-JDK-1.6.027。我以前从未使用过Maven,你说得对,我的版本比你的版本旧。你能告诉我如何下载3.0版吗?它不能通过eclipse安装,也许我写了一个错误的搜索文本。Windows7(x64)谢谢!我认为如果使用Maven 2.x而不是Maven 3,这并不是什么大问题。Frank说的是“Maven编译器插件”,它太旧了。通过将他的XML片段添加到pom.XML文件中,将使用正确的插件(无需安装Maven 3)。好的,谢谢,构建过程运行良好:)最后一个问题是线程“main”java.lang.NoClassDefFoundError中的异常:com/google/common/base/Splitter它是google guava jar的一部分,maven下载了它,这个jar在项目构建路径中可用。。我在stackoverflow上找到了另一个同样错误的主题,但是还不能理解原因。如果你使用的是Eclipse插件(m2e),那么你已经在使用Maven 3了。Maven的最新版本是3.0.4,可以下载。你给了番石榴一个范围吗?
<build>
  <pluginManagement>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    </plugins>
  </pluginManagement>
</build>