我可以使用在Java 7中编译的jar作为针对Java 6编译的项目中的依赖项吗?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了我可以使用在Java 7中编译的jar作为针对Java 6编译的项目中的依赖项吗?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1543字,纯文字阅读大概需要3分钟。
内容图文
![我可以使用在Java 7中编译的jar作为针对Java 6编译的项目中的依赖项吗?](/upload/InfoBanner/zyjiaocheng/728/e75149e9d78143e68a912073c5241646.jpg)
我可以使用在Java 7中编译的jar作为项目中的依赖项,该项目是为了与Java 6兼容而编译的吗?我没有依赖项的源代码.我把编译后的jar作为maven依赖.
解决方法:
Can I use a jar, compiled in Java 7 as a dependency in a project that is compiled for compatibility with Java 6?
我们解开这个:
>您有一个已编译的项目,以便在Java 6 JRE上运行. (假设您只在该项目中使用Java 6 API.)此项目的.class文件必须具有类文件格式主要版本50 …否则Java 6 JRE将无法加载它们.
>然后你有一个“在Java 7中编译”的依赖项.这可能意味着两件事之一:
>它可以使用Java 7工具链进行编译,但目标版本为Java 6.
>它可以使用Java 7的Java 7工具链进行编译.
在上面的两个子类中,如果在Java 7 JRE1上运行项目,则应该能够在Java 6项目中使用依赖项. Java 7 JRE可以加载和运行为Java 6编译的类文件.在其中一个子类中,您将加载具有两个(或更多)类版本号的类.但那没关系.
另一方面,如果您尝试在Java 6 JRE上运行代码,则:
>如果Java 7依赖项不使用任何Java 7(或更高版本)API,则子shell 1将起作用;即,它仅使用Java 6或更早版本中存在的Java标准类,方法等.
>子shell 2不起作用. Java 6 JRE将无法加载依赖项.实际上,如果依赖项是静态的(即项目源代码对依赖项的API具有编译时依赖性),那么项目代码将不会构建…因为Java 6编译器应该拒绝读取依赖项的较新版本类文件.
最可行的方法是将项目和执行平台迁移到Java 7.或者更好的是Java 9,因为Java 7是EOL的.
如果你不能这样做,那么下一个最好的办法就是避免使用Java 7依赖…直到你可以升级.
如果您的客户坚持要求他们继续支持Java 6,那么他们就会阻碍您升级产品线的能力.他们应该为此收取额外费用.
如果由于内部原因而无法升级Java平台,那么这个决定就会累积技术部门……您的组织将被迫长期获得回报.
1 – ….或JDK.出于运行代码的目的,JDK等同于JRE.
内容总结
以上是互联网集市为您收集整理的我可以使用在Java 7中编译的jar作为针对Java 6编译的项目中的依赖项吗?全部内容,希望文章能够帮你解决我可以使用在Java 7中编译的jar作为针对Java 6编译的项目中的依赖项吗?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。