gpt4 book ai didi

java - 命名模块的未命名包中的非编译单元是否打开?

转载 作者:行者123 更新时间:2023-11-30 10:00:16 24 4
gpt4 key购买 nike

我在 JLS 中找不到任何提及,它只谈到编译单元在未命名包中时如何放置在未命名模块中。

背景:许多库要求用户代码将具有特定名称的配置文件放入未命名(默认)包中。我想知道 JLS 是否保证在使用模块时可以通过 ClassLoader::getSystemResourceAsStream 找到这些资源。它似乎有效,但我想要一个来源。

这是有道理的,因为 opens "" 没有语法,所以唯一明确的方法是打开模块本身。

最佳答案

我认为这很清楚。

An unnamed module exports every package whose ordinary compilation units are associated with that unnamed module.

An unnamed module opens every package whose ordinary compilation units are associated with that unnamed module.

关于协会:

The host system must associate ordinary compilation units in an unnamed package with an unnamed module (§7.7.5), not a named module.

Source

注意:这里说的是导出包,而不是导出编译单元,所以包中的资源都在这个声明中。

关于java - 命名模块的未命名包中的非编译单元是否打开?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58132168/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com