首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebSphere自由-码头映像上的共享库

WebSphere自由-码头映像上的共享库
EN

Stack Overflow用户
提问于 2022-03-11 13:15:50
回答 1查看 199关注 0票数 1

我正在使用websphere- have (https://hub.docker.com/_/websphere-liberty/)映像来部署我的应用程序,但是我在共享库方面有问题。我需要将jar从util项目转换为自由服务器上的共享库。我被这个错误困住了:

SchedulerApplication-加载ok -来自Scheduler应用程序,但它正在从util项目扩展类

代码语言:javascript
复制
[ERROR   ] SRVE0276E: Error while initializing Servlet [Scheduler]: 

    javax.servlet.UnavailableException: SRVE0203E: Servlet [Scheduler]: com.scheduler.SchedulerApplication was found, but is missing another required class.
    SRVE0206E: This error typically implies that the servlet was originally compiled with classes which cannot be located by the server.
    SRVE0187E: Check your class path to ensure that all classes required by the servlet are present.SRVE0210I: This problem can be debugged by recompiling the servlet using only the classes in the application's runtime class path
    SRVE0234I: Application class path=[com.ibm.ws.classloading.internal.ThreadContextClassLoader@3c27eabb]
            at com.ibm.ws.webcontainer.servlet.ServletWrapper$1.run(ServletWrapper.java:1575)
            at [internal classes]

代码语言:javascript
复制
Basic project structure
    app - Scheduler/...
                /pom.xml
        - myapp2/...
                /pom.xml
        - util/...
              /pom.xml
        - pom.xml
    Dockerfile
    server.xml

Dockerfile

代码语言:javascript
复制
FROM maven:3.8.4-ibmjava-8 as maven_build
COPY --chown=1001:0 app./app
WORKDIR app
RUN mvn clean install

FROM websphere-liberty:21.0.0.12-full-java8-ibmjava
COPY --chown=1001:0  server.xml /config/
COPY --chown=1001:0 --from=maven_build /app/Scheduler/target/Scheduler.ear /config/dropins/ 
COPY --chown=1001:0 --from=maven_build /app/myapp2/target/myapp2.ear /config/dropins/

#util -> libraries used in both Scheduler & myapp2
COPY --chown=1001:0 --from=maven_build /app/util/target/util.jar /opt/ibm/wlp/usr/servers/defaultServer/lib/
RUN configure.sh

server.xml

代码语言:javascript
复制
.....
<library id="SharedLibraries" apiTypeVisibility="spec, ibm-api, stable, third-party">
    <fileset dir="/opt/ibm/wlp/usr/servers/defaultServer/lib/" includes="*.jar" scanInterval="5s" />
</library>

<application id="Scheduler" name="Scheduler" type="ear" location="Scheduler.ear">
      <classloader apiTypeVisibility="spec, ibm-api, stable, third-party" commonLibraryRef="SharedLibraries" />   
</application>
.....
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-11 15:40:31

修正了在将ear文件移出配置/下拉列表后,=>停止了自动部署

看起来app是从配置/下拉列表中安装的2x -auto部署&从server.xml部署

代码语言:javascript
复制
COPY --chown=1001:0 --from=maven_build /app/Scheduler/target/Scheduler.ear /opt/ibm/wlp/usr/servers/defaultServer/apps
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71439117

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档