Java 用于eclipse的guava-11.0.1.jar和Maven插件
我在Eclipse中创建了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> &
<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>