Java 如果我们对tomcat和project使用不同的jdk,可能会出现什么复杂情况

Java 如果我们对tomcat和project使用不同的jdk,可能会出现什么复杂情况,java,eclipse,tomcat,Java,Eclipse,Tomcat,我正在做一些REST示例,并为此安装了Tomcat8。 IDE是Eclipse Luna 我创建了一个maven web原型项目,发现它使用的是J2SE5运行时环境,在部署代码时,我看到Tomcat使用的是JDK1.7 在创建项目时,没有人问到要使用的目标jdk,所以我不知道它在使用什么 这会产生问题吗 据我所知,在较低版本上编译的项目可以在较高版本上运行,但我还是想知道在这种情况下可能会出现什么复杂情况 谢谢除非您使用JDK 7的API,否则我使用较低版本的JDK是没有坏处的。这与JDK无关

我正在做一些REST示例,并为此安装了Tomcat8。 IDE是Eclipse Luna

我创建了一个maven web原型项目,发现它使用的是J2SE5运行时环境,在部署代码时,我看到Tomcat使用的是JDK1.7

在创建项目时,没有人问到要使用的目标jdk,所以我不知道它在使用什么

这会产生问题吗

据我所知,在较低版本上编译的项目可以在较高版本上运行,但我还是想知道在这种情况下可能会出现什么复杂情况


谢谢

除非您使用JDK 7的API,否则我使用较低版本的JDK是没有坏处的。

这与JDK无关

您用来创建项目的maven原型可能没有为项目提供配置。默认情况下,此插件编译时源和目标兼容性设置为1.5。EclipseMaven插件注意到这一点,并在eclipse中使用J2SE5构建环境设置您的项目

您可以通过包括以下插件配置在pom.xml中修复此问题:

    <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.2</version>
        <configuration>
            <encoding>UTF-8</encoding>
            <source>1.7</source>
            <target>1.7</target>
        </configuration>
    </plugin>

maven编译器插件
3.2
UTF-8
1.7
1.7

可能没有,现在如果您使用的是Java 1.4或更早版本,我会警告您不要说出任何东西
enum
。还有,如果你担心的话;获取与您打算在生产环境中运行的版本相同的版本。感谢Elliott提供枚举警告。但我不会使用低于1.7的版本,谢谢。这是一个有用的信息。此项目创建为2.5版的动态Web项目,我尝试更改它,但不允许更改。如何将其更改为更高的值,有时可能是更低的值?我知道的唯一方法是退出eclipse并在文本编辑器中编辑
.settings/org.eclipse.wst.common.project.facet.core.xml
文件