如何强制Maven使用javax.persistence依赖项来定位Java 1.7?

时间:2017-02-20 14:44:48

标签: java maven maven-3 maven-compiler-plugin

我在pom.xml文件中设置它:

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


<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.6.1</version>
        </plugin>
    </plugins>
</build>

当我打开.jar文件并使用javap -v检查.class文件时,它输出“major version:52”,对应1.8,所以我看到它不符合我的配置。

我依赖于javax.persistence:

<dependencies>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>
</dependencies>

如果删除此依赖项,javap -v将输出“major version:51”,这是我想要的目标。

但我需要依赖。

是否可以使用javax.persistence依赖项来定位1.7?怎么样?

如果我不能像我配置的那样定位Java 1.7,我期待编译错误。

我正在使用IntelliJ IDEA。

感谢。

1 个答案:

答案 0 :(得分:0)

你尝试过这个吗?

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