gpt4 book ai didi

wso2 - 编写自定义功能

转载 作者:行者123 更新时间:2023-12-04 21:45:34 25 4
gpt4 key购买 nike

我们想为 wso2 carbon 编写我们自己的自定义扩展(功能)。是否有一些有关创作功能的文档?

我们确实设法“破解”了我们编写自定义功能的方式。但是我们如何托管它?似乎 Carbon 正在查看一些非常具体的存储库描述符 - artifacts.jar 和 content.jar

我们如何在不依赖于 Carbon 构建的情况下生成这些描述符。是否有一些文档描述了如何设置第三方功能存储库?

最佳答案

Creating-your-own-wso2-carbon-components网络研讨会讨论了创建碳组件以及这些组件的功能。它涵盖了很多基础知识和最佳实践。

要托管您编写的已创建功能,您需要从这些功能生成一个 p2-repository。 p2-repo 概念来自下划线 Eclipse equinox WSO2 产品使用的项目。

WSO2 编写了自己的 maven 插件,称为 carbon-p2-plugin,有助于生成 p2-repo。以下是您如何做到这一点。只需新建一个maven项目(打包:pom),然后在 carbon-p2-plugin 插件配置下设置要发布的功能即可。以下是您可以使用的示例 pom.xml。这是从 p2-repo generation pom.xml of carbon 4.1.0 复制的,我简化了它。

我已经测试了这个 pom 文件,它对我有用。有两个示例特征定义。将这些 featureArtifactDef 替换为您自己的功能定义。格式为 $groupId:$artifactId:$version。

当您通过 maven 构建它时,maven 会创建 target/p2-repo 目录。这包含 p2-repository,其中包含完整的 p2-repo,包括 artifacts.jar 和 content.jar。您可以仅使用此文件夹来安装功能,也可以将其托管在某处。对托管没有特殊要求。

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

<parent>
<groupId>org.wso2.carbon</groupId>
<artifactId>carbon-features</artifactId>
<version>4.1.0</version>
</parent>

<modelVersion>4.0.0</modelVersion>
<artifactId>mysample-feature-repository</artifactId>
<version>4.1.0</version>
<packaging>pom</packaging>
<name>WSO2 Carbon - Feature Repository</name>

<build>
<plugins>
<plugin>
<groupId>org.wso2.maven</groupId>
<artifactId>carbon-p2-plugin</artifactId>
<version>1.5.2</version>
<executions>
<execution>
<id>2-p2-repo-generation</id>
<phase>package</phase>
<goals>
<goal>p2-repo-gen</goal>
</goals>
<configuration>
<p2AgentLocation>${basedir}/target/p2-agent</p2AgentLocation>
<metadataRepository>file:${basedir}/target/p2-repo</metadataRepository>
<artifactRepository>file:${basedir}/target/p2-repo</artifactRepository>
<publishArtifacts>true</publishArtifacts>
<publishArtifactRepository>true</publishArtifactRepository>
<featureArtifacts>

<!-- change the featureArtifactDef to match your needs -->

<featureArtifactDef>
org.wso2.carbon:org.wso2.carbon.service.mgt.feature:4.1.0
</featureArtifactDef>
<featureArtifactDef>
org.wso2.carbon:org.wso2.carbon.registry.core.feature:4.1.0
</featureArtifactDef>


</featureArtifacts>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>

关于wso2 - 编写自定义功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15095203/

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