tomee-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Makarov Alexey <alexe...@yandex.com>
Subject Re: Tomee, Arquillian and CLASSPATH
Date Sun, 31 May 2020 11:32:09 GMT
Hello! I found answer.
Look's like, in this moment, specifiyng classpath in arquillian.xml is impossible.
I looked at: https://github.com/apache/tomee/blob/master/container/openejb-core/src/main/java/org/apache/openejb/config/RemoteServer.java

and found that setenv.sh not work becouse container start by running java VM and all options
are passed as parameters, hence catalina.sh and setenv.sh not used.

-- 
WIth best regards,
Makarov Alexey


30.05.2020, 19:21, "Makarov Alexey" <alexeys9@yandex.com>:
> Hello!
> How I can set "CLASSPATH" variable for remote container?
>
> I try to replace JULI with Slf4j and Logback for remote container, but I receive exception
if I run tests:
>
> ...
> Handler error
> java.lang.ClassNotFoundException: org.slf4j.bridge.SLF4JBridgeHandler
>         at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)
>         at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
>         at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)
>         at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:601)
>         at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:538)
>         at org.apache.juli.ClassLoaderLogManager.readConfiguration(ClassLoaderLogManager.java:336)
>         at java.logging/java.util.logging.LogManager.readPrimordialConfiguration(LogManager.java:445)
>         at java.logging/java.util.logging.LogManager$2.run(LogManager.java:394)
>         at java.base/java.security.AccessController.doPrivileged(Native Method)
>         at java.logging/java.util.logging.LogManager.ensureLogManagerInitialized(LogManager.java:382)
>         at java.logging/java.util.logging.LogManager.getLogManager(LogManager.java:430)
>         at java.logging/java.util.logging.Logger.demandLogger(Logger.java:648)
>         at java.logging/java.util.logging.Logger.getLogger(Logger.java:717)
>         at java.logging/java.util.logging.Logger.getLogger(Logger.java:701)
>         at org.apache.tomee.jul.formatter.log.JULLogger.<init>(JULLogger.java:67)
>         at org.apache.tomee.jul.formatter.log.ReloadableLog$ReloadableLogHandler.initDelegate(ReloadableLog.java:93)
>         at org.apache.tomee.jul.formatter.log.ReloadableLog$ReloadableLogHandler.<init>(ReloadableLog.java:54)
>         at org.apache.tomee.jul.formatter.log.ReloadableLog.newLog(ReloadableLog.java:37)
>         at org.apache.tomee.jul.formatter.log.TomEELog.<init>(TomEELog.java:79)
>         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
>         at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
>         at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
>         at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
>         at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:134)
>         at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:153)
>         at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:208)
>         at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:52)
> ...
>
> 1. I have put "setenv.sh" in "src/test/tomee/bin" project with content:
>
> CLASSPATH=$CATALINA_HOME/lib/jul-to-slf4j-1.7.2.jar:\
> $CATALINA_HOME/lib/slf4j-api-1.7.2.jar:\
> $CATALINA_HOME/lib/logback-classic-1.0.6.jar:\
> $CATALINA_HOME/lib/logback-core-1.0.6.jar:\
> $CATALINA_HOME/conf/logback/
>
> 2. I specified the necessary properties in arquillian.xml:
>
> <container qualifier="tomee" default="true">
>         <configuration>
>             ...
>             <property name="additionalLibs">
>                 remove:slf4j-jdk14-1.7.21.jar
>             </property>
>             <property name="lib">target/additional-libs</property>
>             <property name="bin">src/test/tomee/bin</property>
>             <property name="conf">src/test/tomee/conf</property>
>             ...
>         </configuration>
> </container>
>
> - all declared libraries in (1) are in "target/additional-libs";
> - config file for Logback is in "$CATALINA_HOME/conf/logback/";
> - all necessary dependencies in pom.xml are declared.
>
> "setenv.sh" appeared in $CATALINA_HOME/bin but, looks like, don't used in bootstrap and
not set "CLASSPATH" variable...
>
> --
> WIth best regards,
> Makarov Alexey

Mime
View raw message