2017-07-25 1 views
0

Image utilisée: https://access.redhat.com/containers/#/registry.access.redhat.com/jboss-eap-7/eap70-openshiftComment configurer Classpath sur l'image EAP Jboss OpenShift

Je peux définir une variable ENV mais il ne fonctionne pas.

Dockerfile:

FROM registry.access.redhat.com/jboss-eap-7/eap70-openshift 
ENV CLASSPATH $CLASSPATH:/opt/eap/standalone/lib/required_libs/fscontext.jar 

Il définit cette variable mais je reçois encore exception suivante,

Caused by: java.lang.ClassNotFoundException: com.sun.jndi.fscontext.RefFSContextFactory from [Module "org.jboss.as.naming:main" from local module loader @b97c004 (finder: local module finder @4590c9c3 (roots: /opt/eap/modules,/opt/eap/modules/system/layers/openshift,/opt/eap/modules/system/layers/base/.overlays/layer-base-jboss-eap-7.0.6.CP,/opt/eap/modules/system/layers/base,/opt/eap/modules/system/add-ons/keycloak))] 
    at org.jboss.modules.ModuleClassLoader.findClass(ModuleClassLoader.java:196) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClassUnchecked(ConcurrentClassLoader.java:363) 
    at org.jboss.modules.ConcurrentClassLoader.performLoadClass(ConcurrentClassLoader.java:351) 
    at org.jboss.modules.ConcurrentClassLoader.loadClass(ConcurrentClassLoader.java:93) 
    at java.lang.Class.forName0(Native Method) 
    at java.lang.Class.forName(Class.java:348) 
    at org.jboss.as.naming.InitialContext.getDefaultInitCtx(InitialContext.java:113) 

Réglage classpath l'intérieur du conteneur ne fonctionne pas non plus.

Vous cherchez la fixation d'un classpath qui apparaîtra dans le processus java comme ci-dessous:

[[email protected] ~]# ps -ef | grep java 
root   1  0 0 Jul18 ?  00:05:49 /usr/lib/jvm/java-1.8.0/bin/java -Dnop -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djava.library.path=/opt/webserver/lib -Djava.security.egd=file:/dev/./urandom -javaagent:/opt/jolokia/jolokia.jar=config=/opt/jolokia/etc/jolokia.properties -XX:+UseParallelGC -XX:MinHeapFreeRatio=20 -XX:MaxHeapFreeRatio=40 -XX:GCTimeRatio=4 -XX:AdaptiveSizePolicyWeight=90 -XX:MaxMetaspaceSize=100m -XX:+ExitOnOutOfMemoryError -Djava.endorsed.dirs=/opt/webserver/endorsed **-classpath /opt/webserver/fscontext.jar:/opt/webserver/ldap.jar** -Dcatalina.base=/opt/webserver -Dcatalina.home=/opt/webserver -Djava.io.tmpdir=/opt/webserver/temp org.apache.catalina.startup.Bootstrap start 

Répondre

1

Pourquoi ne pas vous mettre votre lib/opt/eap/modules ou dans l'un des répertoire Mentionné dans le trace de la pile ?

Ne pas oublier aussi de créer un fichier module.xml dans EAP_HOME/modules/votre/paquet/nom/main, ex:

<module xmlns="urn:jboss:module:1.1" name="your.package.name"> 
    <resources> 
    <resource-root path="fscontext.jar"/> 
    </resources> 
    <dependencies> 
    <module name="com.ibm.mq"/> 
    </dependencies> 
</module>