kie服务器:如何部署具有依赖项的kjar容器

kwvwclae  于 2021-08-20  发布在  Java
关注(0)|答案(0)|浏览(412)

我正在尝试使用docker通过预部署的进程构建kie服务器映像。
下面是使用kjar构建映像的dockerfile

FROM jboss/jbpm-server-full:7.18.0.Final

ENV KIE_SERVER_STARTUP_STRATEGY=LocalContainersStartupStrategy

# set locale

ENV LC_ALL=en_US.UTF-8

USER jboss
RUN mkdir -p "${HOME}/.m2/repository/bpm/bpm/0.1.0"
COPY --chown=jboss:jboss mvn.settings.xml /opt/jboss/.m2/settings.xml
COPY --chown=jboss:jboss target/pensionpayment.jar /opt/jboss/.m2/repository/bpm/bpm/0.1.0/bpm-0.1.0.jar
COPY --chown=jboss:jboss pom.xml /opt/jboss/.m2/repository/bpm/bpm/0.1.0/bpm-0.1.0.pom

然后我运行图像 docker run -p 28080:8080 -p 28001:8001 -d --name kieserver kie:bpm 并尝试使用rest api部署容器。。

curl -u "wbadmin:wbadmin" -X PUT -H "Content-Type: application/xml" -d '@payload.xml' "http://localhost:28080/kie-server/services/rest/server/containers/bpm"

..具有以下有效载荷

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<kie-container>
    <config-items>
        <itemName>RuntimeStrategy</itemName>
        <itemValue>SINGLETON</itemValue>
        <itemType>java.lang.String</itemType>
    </config-items>
    <config-items>
        <itemName>MergeMode</itemName>
        <itemValue>MERGE_COLLECTIONS</itemValue>
        <itemType>java.lang.String</itemType>
    </config-items>
    <config-items>
        <itemName>KBase</itemName>
        <itemValue></itemValue>
        <itemType>java.lang.String</itemType>
    </config-items>
    <config-items>
        <itemName>KSession</itemName>
        <itemValue></itemValue>
        <itemType>java.lang.String</itemType>
    </config-items>
    <!-- This is where you define your kjar as an artifactid so that
         the kie-server can find and deploy it. -->
    <release-id>
        <artifact-id>bpm</artifact-id>
        <group-id>bpm</group-id>
        <version>0.1.0</version>
    </release-id>
    <scanner poll-interval="5000" status="STARTED"/>
</kie-container>

但是我得到了 java.lang.NoClassDefFoundError 缺少依赖项时出错。作为jbpm和kie服务器的noob,我不确定服务器是否应该在部署期间解决模块的maven依赖关系,还是应该构建和部署fat-jar。另外,除了RESTAPI,还有其他的部署方式吗?出于开发目的,业务中心部署也应该是可能的。正确的方法是什么?

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题