我有一个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或更高版本“
有什么想法吗?
答案 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)。