为什么Eclipse Kepler SR1出错:JAX-RS 2.0需要Java 1.7或更高版本

时间:2013-10-16 14:44:05

标签: eclipse jax-rs eclipse-kepler

我有一个maven项目,它给出了以下两个错误

无法安装JAX-RS(REST Web服务)2.0:未满足一个或多个约束 JAX-RS(REST Web服务)2.0需要Java 1.7或更高版本。

我安装了JDK 1.6(我无法更改)

项目方面没有勾选JAX-RS。

项目方面有java 1.6 set。

项目方面有动态Web项目2.4设置。

我有以下插件

Sonar 3.2.0 MercurialEclipse 2.10 EclEmma 2.2.1

pom.xml就是这个......

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>com.pcmsgroup.v21.esi</groupId>
    <artifactId>customerservice-war</artifactId>
    <version>2.0.0-SNAPSHOT</version>
</project>

web.xml是

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    <display-name>Customer Service</display-name>
</web-app>

清理或“更新Maven项目”没有任何区别。

注意:这是在eclipse-jee-kepler-SR1-win32-x86_64中。 注意:版本eclipse-jee-kepler-win32-x86_64不会出错。

注意:新工作区不会更改错误。

注意:我正在使用JDK.1.6.0_43

我在“.log”文件中看到的与此相关的唯一错误是..

!ENTRY org.eclipse.osgi 2 1 2013-10-16 15:07:58.816 !MESSAGE NLS未使用的消息:JaxrsProjectConfigurator_The_project_does_not_contain_required_facets in:org.eclipse.m2e.wtp.jaxrs.internal.messages

添加方面,不要让我应用它,因为它说我需要Java 1.7

JSR339(JSR339)声明“API将广泛使用注释和意志 需要J2SE 6.0或更高版本“

有什么想法吗?

4 个答案:

答案 0 :(得分:9)

删除.project文件并将其从源代码管理中删除。而不是使用导入 - &gt;现有项目,使用Import - &gt; Maven项目,让m2e配置您的Eclipse项目。

答案 1 :(得分:9)

这是一个错误,如果不是SR2则修复在Luna中。 http://bugs.eclipse.org/416704

答案 2 :(得分:0)

如果想要摆脱这些错误,那么您只需右键单击“标记视图”中的错误,然后单击“删除”。

答案 3 :(得分:0)

我知道您无法更改1.6 JDK,但以下解决方案可能会帮助其他人:

就我而言,我有JDK 1.6和1.7。我已经尝试了几种建议的解决方案而没有任何成功。

因此,在我的pom.xml中,我从jdk 1.6更改为jdk 1.7:

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

使用jdk 1.7对我有用,虽然在我的方面设置为1.6(因为我的意图是使用jdk 1.6)。