gpt4 book ai didi

java - 扩展 Addon 并使用它的类

转载 作者:行者123 更新时间:2023-12-02 03:11:58 25 4
gpt4 key购买 nike

我有以下情况:我想在 assistanceservicestorefront 中使用自定义扩展中的方法,但它总是编译失败,因为 ant 找不到我在 assistanceservicestorefront 中寻找的类。

我认为扩展程序可能无法真正访问插件,因此我专门创建了一个自定义插件来访问我想要的插件。

仍然失败。

有什么想法吗?

我已经尝试过:

我已经在extensioninfo.xml中按照要求定义了它

尝试创建自定义插件。

代码:这是我的 DummyAssistedServiceComponent

@Resource
private GkvUserService userService;

@Resource(name = "assistedServiceAgentAuthoritiesManager")
private DefaultAssistedServiceAgentAuthoritiesManager authoritiesManager;

public void refreshAuthorities() {
String userId = userService.getCurrentUser().getUid();
authoritiesManager.addCustomerAuthoritiesToAgent(userId);
}

错误输出:

/opt/company/Project/hybris/bin/project/projectassistedserviceaddon/src/de/companysystems/project/assistedserviceaddon/controllers/DummyAssistedServiceComponent.java:5: 

error: package de.hybris.platform.assistedservicestorefront.security.impl does not exist
<小时/>

编辑:

好的,我发现了第一个错误。我已将类放入错误的文件夹中。

我已将其放入 \src 而不是 \acceleratoraddon\web\src

我移动了该类,突然它编译没有问题。

但是还有一个问题:

我创建了自定义插件,因为我想访问另一个插件中的方法以在我的自定义扩展中使用它。不过好像不太可能。

Hybris 似乎不允许从扩展程序访问插件。仅允许插件访问它们并覆盖它们:(

有什么想法吗?否则,我就得把我想用的方法再写一遍。

最佳答案

如果您乘坐The AddOn Approach in Hybris ,这将消除您的疑虑。

AddOn 概念旨在扩展 Accelerator 店面而不触及其核心代码库。为此,系统会在构建阶段自动将文件夹和文件复制到目标店面扩展。

构建阶段完成后,目标扩展(店面)包含以下新文件夹:

  • web/addonsrc,其中包含每个已安装插件的源代码。这会自动编译。
  • web/webroot/WEB-INF/addons,其中包含所有前端组件,例如图像、JSP 文件、HTML 文件和 TAG 文件。

这意味着如果您想覆盖/扩展任何现有的插件功能,您必须创建一个自定义插件并向您想要覆盖的现有插件添加依赖项。这样系统将在自定义插件之前加载现有插件。另外,不要忘记将自定义插件安装到您的店面。

关于java - 扩展 Addon 并使用它的类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56989012/

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