Java 坏类文件使用JAR时出现错误版本错误,但其maven配置目标设置正确
我一直在努力使一个库与我们的Android项目一起工作。目前,我们在lint检查期间发现库有错误:Java 坏类文件使用JAR时出现错误版本错误,但其maven配置目标设置正确,java,android,maven,java-8,maven-compiler-plugin,Java,Android,Maven,Java 8,Maven Compiler Plugin,我一直在努力使一个库与我们的Android项目一起工作。目前,我们在lint检查期间发现库有错误: bad class file: ..... class file has wrong version 55.0, should be 52.0 Please remove or make sure it appears in the correct subdirectory of the classpath. 因此,我检查了有问题的库并检查了它的pom.xml,它似乎已正确配置为
bad class file: .....
class file has wrong version 55.0, should be 52.0
Please remove or make sure it appears in the correct subdirectory of the classpath.
因此,我检查了有问题的库并检查了它的pom.xml
,它似乎已正确配置为与Java 8兼容:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
...
org.apache.maven.plugins
maven编译器插件
3.8.1
1.8
1.8
...
库开发人员和我认为这应该足够了,还是我们错了,在生成库JAR时应该使用Java8?还是问题只出在我身上,我应该使用Java 11而不是Android Studio捆绑的JDK?库的类应该以Java 8作为编译目标,以便您能够使用这些类文件。你可以进一步评论,只看库代码和你使用它的方式。@Naman那么你的意思是库项目应该使用Java 8来生成工件,这样我们的Android项目(使用内置JDK)就可以使用它了?你尝试使用的类文件是用Java-11编译的,而与您的项目一起使用的版本似乎是Java-8。因此,任何使用Java-11编译这些类的人都需要确保目标是8。