Java EE 的未来和各种 Java 9 花絮

在本文开始前,先给大家分享几个好用的IDEA激活码

这里提供几个最新的激活码,有需要的朋友可以试试,先到先用:

2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新)

2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新)

2022和2023Webstorm激活码,Webstorm稳定专属激活码(持续更新)

2022和2023Phpstorm激活码,Phpstorm稳定专属激活码(持续更新)

2022和2023Goland激活码,Goland稳定专属激活码(持续更新)

Java 9 上的 Maven

我已经写过关于这个的文章,但它又出现了,所以我想快速重复一遍:有可能某些 Maven 插件(或 Gradle 就此而言)使用内部 API 或 Java EE 模块或做任何其他大量的事情不应该。在那种情况下,运行该插件的 JVM 往往是 Maven 进程本身,需要使用额外的命令行标志进行配置。

我使用项目本地.mvn/jvm.config文件成功地做到了这一点。我将 Maven JVM 在 Java 9 上运行所需的所有标志放在那里,Maven 会自动选择它。

为了防止 Java 8 构建因无法识别的选项而崩溃,我尝试过-XX:+IgnoreUnrecognizedVMOptions,但没有成功。相反,我写了一个小脚本,根据我构建的版本,将它们重命名为.mvn/jvm.config和返回以将它们移入或移出。.mvn/jvm9.config

如何添加requires名称中包含连字符的工件

问题:_

在我的 Maven 依赖项中,我有 [commons-io]。我正在尝试在 module-info.java 中添加此依赖项。就像,[需要 commons-io]。对于 commons-io,它显示编译错误。如何使这项工作?

简洁版本

使用requires commons.io。(一般来说,请参阅nullpointer 的回答如何学习模块的名称。)

长版

由于commons-io.jar尚未模块化,您正在创建一个自动模块,模块系统必须为其命名。的 Javadoc描述ModuleFinder了这是如何发生的:

此方法返回的模块查找器支持打包为 JAR 文件的模块。module-info.class[…] 一个在其顶级目录中没有的 JAR 文件定义了一个自动模块,如下所示:

  • 如果 JAR 文件在其主清单中具有属性“Automatic-Module-Name”,则其值为模块名称。模块名称是从 JAR 文件的名称派生的。
  • 版本和模块名称 […] 源自 JAR 文件的文件名,如下所示:
  • […]
  • 模块名称中的所有非字母数字字符 ([^A-Za-z0–9]) 都替换为一个点 (“.”),所有重复的点都替换为一个点,并删除所有前导和尾随的点。

最后两个项目符号适用于未为 Java 9 准备的自动模块,例如commons.io. 这个来自同一个 Javadoc 的例子解释了你的情况:

例如,一个名为“foo-bar.jar”的 JAR 文件将派生一个模块名称“foo.bar”并且没有版本。名为“foo-bar-1.2.3-SNAPSHOT.jar”的 JAR 文件将导出模块名称“foo.bar”和“1.2.3-SNAPSHOT”作为版本。

因此requires commons.io应该工作。

发布者:admin,转转请注明出处:https://www.ajihuo.com/soft/5402.html

(0)
上一篇 2023年3月20日 下午8:01
下一篇 2023年3月24日 上午10:19

相关推荐

  • 每个开发人员都应该知道的 10 个 Java 习语

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年5月9日
    00
  • 在 SPRING 中使用多个动态缓存

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022Webstorm激活码,Webstorm稳定专属激活码(持续更新) 2022Phpst…

    2022年10月16日
    00
  • Spring Boot 高级面试题。

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年4月24日
    00
  • 什么是响应式网页设计?

    PS: 本教程最新更新时间: 2022年12月18日~ 在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023…

    2022年12月18日
    00
  • 停止在 Java 中使用异常

    在本文开始前,先给大家分享几个好用的IDEA激活码 这里提供几个最新的激活码,有需要的朋友可以试试,先到先用: 2022和2023Intellij IDEA最新激活码,IDEA稳定专属激活码(持续更新) 2022和2023Pycharm激活码,Pycharm稳定专属激活码(持续更新) 2022和2023Webstorm激活码,Webstorm稳定专属激活码(…

    2023年3月3日
    00

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注