当前位置: 首页 > 知识库问答 >
问题:

访问不同发行版的资源

卫华奥
2023-03-14

%*资源作为一个动态变量,您可以访问特定分发中的每一个分发::资源对象。这些对象与它一起安装,所以它们就在那里,可以使用。

但是,我找不到一种记录在案的,更不用说规范的方式来从一个发行版访问不同发行版的资源。例如,您想从Foo访问作为发行版Bar资源安装的数据。我可以想象实例化一个分发::资源对象;为了实例化它,您需要repo(好的,我可以接受),但需要dist-id。很可能有一种规范的方法可以从dist-name获取dist-id...但是我在这里迷路了。有人能帮忙吗?

更新:我正在检查这个,它归结为:使用zef。它包括用于“查找”一个“标识”(通过名称和元数据标识的发行版)所在位置的逻辑,并且从那里您可能可以通过解析输出来定位标识。然而,那里没有文档,也不清楚它的公共API是什么,除了它可能在代码中的某个地方。

然而,很明显,首先您必须找到需要资源的发行版,从那里您将获得一个ID,然后使用该ID实例化上面的对象。


共有1个答案

钦良弼
2023-03-14

没有公开的方法可以做到这一点。dist id是一个实现细节,因此它不在文档或规范中。这并不明显,因为你根本不应该这么做。是的,zef使用它,但这是一个特例,不是一个例子。

 类似资料:
  • 我正在尝试访问res/stringsxml中的字符串值: 编辑:在onCreate()中初始化 不管用

  • docker如何在Debian主机上运行,或者在容器中运行OpenSUSE?它使用不同的内核,具有不同的模块。另外,老版本的Debian使用了老版本的内核,那么如何在3.10+版本的内核上运行它呢?旧的内核只有旧的内置功能,旧的发行版如何管理新的功能?这里面有什么“诀窍”?

  • 我有两个终点。 是一个内部(半私有)endpoint。仅允许配置的客户端使用。(不需要用户名和凭据;但clientID就足够了) 问候语是专用endpoint。仅允许客户端和用户配置。(需要clientID、用户名和密码) 以下是配置。 这是控制器 我不能访问没有任何令牌。所以当我尝试使用下面的curl获取访问令牌时(注意我不传递用户名和密码,只传递client_id和client_secret)

  • 我正在使用Checkmarx安全工具扫描我的代码,它说当我对数据库执行executeUpdate()命令时,这是“不正确的资源访问授权”。 各种谷歌搜索都没有成功。

  • 问题内容: 我有一个包含要分发的资源(主要是缓存,日志记录等的配置)的文件。 我对这些资源的相对路径有疑问,所以我做了在另一个stackoverflow问题中发现的问题,该问题说这是有效的方法: 不幸的是,这不起作用。 有任何想法吗?谢谢! PS:显然我不能使用绝对路径,如果可能,我想避免使用环境变量 问题答案: 确保资源文件夹在项目设置中列为源文件夹。另外,确保在构建jar时将资源文件夹设置为导

  • 问题内容: 我正在使用Checkmarx安全工具来扫描我的代码,这就是说,当我对数据库执行executeUpdate()命令时,即为“不正确的资源访问授权”。 各种谷歌搜索没有成功。 问题答案: 添加一些执行访问控制检查的代码,这些代码使用诸如“ admin ”,“ authoriz ”或“ allowed ”之类的词