【问题标题】:Eclipse JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newerEclipse JAX-RS(REST Web 服务)2.0 需要 Java 1.6 或更高版本
【发布时间】:2015-07-16 22:17:15
【问题描述】:

我是 Web 服务的新手,我正在尝试在 Eclipse 中使用 jax-rs rest 和 spring 来做一个项目。 我使用 java 1.8,但 eclipse 向我显示 jax-rs 2.0 需要 java 1.6 或更新的错误,我的项目将无法运行

这是项目浏览器和错误的屏幕截图。我试图用谷歌搜索,但找不到任何英文解决方案

编辑:如果我尝试显示它,屏幕截图的质量似乎很低,所以这里是截图的 imgur 链接以获得更好的质量 http://i.imgur.com/YYyoeUX.png

【问题讨论】:

  • maven 编译器插件是否设置为 1.8?如果您不声明它以覆盖 java 版本,则默认为 1.5
  • @peeskillet 在哪里可以查看?
  • 在你的 pom 文件中。应该在<plugins>下,没看到可以和它。只需谷歌 maven-compiler-plugin。加起来不难。添加后,更新项目
  • @peeskillet 将 maven-compiler-plugin 3.3 版添加到 pom.xml 并更新了项目。仍然有同样的错误
  • 抱歉,我在平板电脑上,无法获取代码。但是对于插件,在</version>下添加<configuration><source>1.8</source><target>1.8</target></configuration>,然后右键项目->Maven->更新项目

标签: eclipse spring web-services jax-rs


【解决方案1】:

Maven 项目附带了一系列隐式应用于构建的插件。其中之一是maven-compiler-plugin。不幸的是,插件的 Java 版本默认为 1.5。您看到的大多数 Maven 项目将通过声明插件(在您的 pom.xml 文件中)并配置 Java 版本来覆盖 Java 版本

  <build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.1</version>
            <configuration>
                <source>1.8</source>
                <target>1.8</target>
            </configuration>
        </plugin>
    </plugins>
  </build>

Eclipse(带有 m2e 插件)会将编译器合规级别设置为插件中的设置。您可以前往

查看此内容

右键项目->属性->Java编译器->查看合规级别

更新

除了上面的编译器插件配置,你也可以简单地做

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
</properties>

默认插件配置将查找这些属性。这比重新声明插件要简洁得多。

将属性或编译器插件添加到 pom.xml 后,您可能需要更新项目。见Manish's answer

【讨论】:

  • 添加这两个属性解决了我的问题。谢谢
  • 您为我节省了很多精力。谢谢。
【解决方案2】:

那些正在使用属性方式的人,如果它不起作用,请执行此步骤。
在 Pom.xml 中

<properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
    </properties>

然后这样做:

  project folder-> maven--> update project--> check force update-->ok

然后做

 project folder-->run as-->mvn build with goal eclipse:eclipse

您不需要按照其他答案中的建议重新导入项目/

【讨论】:

    【解决方案3】:

    刚到项目的路径,进入设置,找到名为“org.eclipse.wst.common.project.facet.core”的xml文件,然后从那里更改java的版本

    【讨论】:

      【解决方案4】:

      我知道这个话题很老,但我遇到了同样的问题,而且很难找到关于它的信息。 所以设置属性对我来说还不够,我还必须从 Eclipse 中删除项目,然后删除 .project 文件并将项目重新导入为 Maven 项目(即使我已经将它创建为 Maven 项目)就像它是回复on this topic

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-17
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多