如何强制Maven以具有javax.persistence依赖项的Java1.7为目标?
我正在pom.xml文件中设置:如何强制Maven以具有javax.persistence依赖项的Java1.7为目标?,java,maven,maven-3,maven-compiler-plugin,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>
<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>
1.7
1.7
org.apache.maven.plugins
maven编译器插件
3.6.1
当我打开.jar文件并用javap-v检查.class文件时,它会输出对应于1.8的“主要版本:52”,因此我发现它不尊重我的配置
我依赖javax.persistence:
<dependencies>
<dependency>
<groupId>javax.persistence</groupId>
<artifactId>persistence-api</artifactId>
<version>1.0.2</version>
</dependency>
</dependencies>
javax.persistence
持久性api
1.0.2
如果我删除这个依赖项,javap-v将输出我想要的目标“majorversion:51”
但我需要依赖
是否可以使用javax.persistence依赖项将1.7作为目标?怎么做
如果它不能像我配置的那样以Java1.7为目标,我预计会出现编译错误
我正在使用IntelliJ IDEA
谢谢。你试过这个吗
<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>
org.apache.maven.plugins
maven编译器插件
3.5.1
1.7
1.7
这正是原始海报所使用的。没有区别。我尝试过,但似乎是等效的。我有一个项目,它使用了这个精确的依赖插件和javax.persistence作为依赖项,并且工作正常,因此我认为这可能会有所不同,我也怀疑您的项目设置可能有所不同,可能检查ide设置我用简单项目检查了它,这个依赖项的存在不会影响输出类的版本。所以你的项目中肯定还有别的东西。