Я устанавливаю это в файле pom.xml:Как заставить Maven нацелить Java 1.7 на зависимость javax.persistence?
<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 и проверьте файл .class с javap -v, она выводит «основную версию: 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», который является целью я хочу.
Но мне нужна зависимость.
Можно ли настроить значение 1.7 с помощью зависимости javax.persistence? Как?
Я ожидал ошибок компиляции, если не настроил таргетинг на Java 1.7.
Я использую IntelliJ IDEA.
Спасибо.
Я проверил его с простым проектом, и наличие этой зависимости не влияет на версию выходного класса. Итак, у вас должно быть что-то еще в вашем проекте. –