我在pom.xml文件中设置这样的:如何强制Maven使用javax.persistence依赖项来定位Java 1.7?
<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文件,输出“主要版本:52”,其对应于1.8 ,所以我看到它不尊重我的配置。
我有javax.persistence依赖:
<dependencies>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
</dependency>
</dependencies>
如果我删除此依赖关系,javap的-v输出“主要版本:51”,这是我想要的目标。
但我需要依赖。
是否可以使用javax.persistence依赖项来定位1.7?怎么样?
我期待编译错误,如果它不能以我配置的Java 1.7为目标。
我正在使用IntelliJ IDEA。
谢谢。
我用简单的项目检查过它,并且此依赖项的存在不影响输出类的版本。 所以你必须在你的项目中有其他东西。 –