使用另一个JDK编译Maven依赖项

Max*_*ant 2 java eclipse restlet maven

我有一个使用JDK 1.5的项目(由于项目遗留),我想使用Restlet.目前我在我的pom.xml中获得了当前的构建部分:

<build>

    <plugins>
        [...]
       <plugin>
           <groupId>org.apache.maven.plugins</groupId>
           <artifactId>maven-compiler-plugin</artifactId>
           <version>2.3.1</version>
           <configuration>
               <source>1.5</source>
               <target>1.5</target>
           </configuration>
       </plugin>       
    </plugins>

  </build>

  <repositories>
        <repository>
            <id>maven-restlet</id>
            <name>Restlet repository</name>
            <url>http://maven.restlet.com</url>
        </repository>
    </repositories>

    <properties>
        <restlet-version>2.2.1</restlet-version>
        <spring-version>3.1.1.RELEASE</spring-version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.restlet.jse</groupId>
            <artifactId>org.restlet</artifactId>
            <version>${restlet-version}</version>
        </dependency>
        <dependency>
            <groupId>org.restlet.jse</groupId>
            <artifactId>org.restlet.ext.jackson</artifactId>
            <version>${restlet-version}</version>
        </dependency>
    </dependencies>
Run Code Online (Sandbox Code Playgroud)

当我在mvn installEclipse中运行时,出现以下错误:

[ERROR] src/main/java/com/****/SomeFile.java:[3,-1] cannot access org.restlet.Component
bad class file: ****\.m2\repository\org\restlet\jse\org.restlet\2.2.1\org.restlet-2.2.1.jar(org/restlet/Component.class)
class file has wrong version 50.0, should be 49.0
Run Code Online (Sandbox Code Playgroud)

我理解错误是因为我正在尝试使用Java 5编译项目但使用Java 6库.如何使用JDK 1.5来使用或编译我的依赖项?

Kep*_*pil 6

您将不得不使用旧版本.如果您查看官方Restlet框架博客,它会在2.2版本新闻中说明以下内容:

我们不再支持自Restlet Framework 1.0版以来的Java 5.如果由于其他要求仍需要支持Java 5,我们建议您继续使用Restlet Framework 2.1.