需要Java版本的Maven依赖关系?
发布时间:2020-12-14 05:24:49 所属栏目:Java 来源:网络整理
导读:我使用Maven开发和构建了我的 Java应用程序.我需要支持 Java 1.6,所以我使用以下属性: maven.compiler.target1.6/maven.compiler.targetmaven.compiler.source1.6/maven.compiler.source 不过,当我运行应用程序时,我得到一个“不支持的major.minor版本”错
我使用Maven开发和构建了我的
Java应用程序.我需要支持
Java 1.6,所以我使用以下属性:
<maven.compiler.target>1.6</maven.compiler.target> <maven.compiler.source>1.6</maven.compiler.source> 不过,当我运行应用程序时,我得到一个“不支持的major.minor版本”错误,我怀疑我的一个依赖jar是一个Java版本比我需要支持的版本更新. 我的问题: >这甚至可能吗?我认为Maven会照顾这种依赖版本的问题. 解决方法
问题是,每个依赖(维护者)都可以决定自己使用哪个java版本进行编译(1.5,1.6,1.7,1.8等),所以这不能通过Maven解决.但是您可以确保不使用不同于您喜欢的Java版本的依赖关系.
这可以通过使用Maven Enforcer Plugin使用extra-enforcer-rules: <project> [...] <build> <plugins> <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-enforcer-plugin</artifactId> <version>1.4.1</version> <!-- find the latest version at http://maven.apache.org/plugins/maven-enforcer-plugin/ --> <executions> <execution> <id>enforce-bytecode-version</id> <goals> <goal>enforce</goal> </goals> <configuration> <rules> <enforceBytecodeVersion> <maxJdkVersion>1.6</maxJdkVersion> <excludes> <exclude>org.mindrot:jbcrypt</exclude> </excludes> </enforceBytecodeVersion> </rules> <fail>true</fail> </configuration> </execution> </executions> <dependencies> <dependency> <groupId>org.codehaus.mojo</groupId> <artifactId>extra-enforcer-rules</artifactId> <version>1.0-beta-5</version> </dependency> </dependencies> </plugin> </plugins> </build> [...] </project> 如果您使用不同版本的JDK编译的依赖关系,这将破坏您的构建. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 在Eclipse IDE使用Gradle构建应用程序(图文)
- ConcurrentHashMap底层实现原理(JDK1.8)源码分析
- 详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化
- WASM(WebAssember)快速了解第一篇——什么是WebAssembly
- rx-java – rx.exceptions.OnErrorNotImplementedException
- java – 如何从属性获取枚举值
- Android 文件实现断点上传
- java – 改变向上箭头的颜色后标记为私人警告
- 在java和csv文件中设置UTF-8
- java – 你能用JAX-RS / Jersey做传统的Servlet过滤吗?