I use OpenEJB Standalone with an exploded WAR. I’m trying to upgrade from 4.5.1 to the modern version, 7.0.3, but I’ve failed at the first hop, 4.5.2: the EJB portion doesn’t load.
What changed between 4.5.1 and 4.5.2 that might cause this? Here’s how it logged with 4.5.1… SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/git/xpro/xpro/web/src/test/lib-test/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/devel/apache-openejb-4.5.1/lib/slf4j-jdk14-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] INFO [main] (Slf4jLog.java:67) - Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog INFO [main] (Slf4jLog.java:67) - jetty-6.1.24 INFO - ******************************************************************************** INFO - OpenEJB http://openejb.apache.org/ INFO - Startup: Wed Mar 15 09:40:19 UTC 2017 INFO - Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved. INFO - Version: 4.5.1 INFO - Build date: 20121209 INFO - Build time: 08:47 INFO - ******************************************************************************** INFO - openejb.home = /devel/apache-openejb-4.5.1 INFO - openejb.base = /devel/apache-openejb-4.5.1 INFO - Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@815b41f INFO - Succeeded in installing singleton service INFO - openejb configuration file is '/git/xpro/xpro/business/src/test/conf/openejb.xml' INFO - Configuring Service(id=OpenEJBSecurityService, type=SecurityService, provider-id=OpenEJBSecurityService) INFO - Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) INFO - Configuring Service(id=XproDS, type=Resource, provider-id=Default JDBC Database) INFO - Configuring Service(id=XproDSUnmanaged, type=Resource, provider-id=Default JDBC Database) WARNING - Inspecting classpath for applications: 73 urls. WARNING - ADJUST THE EXCLUDE/INCLUDE!!!. Current settings: openejb.deployments.classpath.exclude='', openejb.deployments.classpath.include='.*' INFO - Found EjbModule in classpath: /git/xpro/xpro/collapsed/xpro.war/WEB-INF/classes WARNING - Searched 73 classpath urls in 8129 milliseconds. Average 111 milliseconds per url. WARNING - Consider adjusting your openejb.deployments.classpath.exclude and openejb.deployments.classpath.include settings. Current settings: exclude='', include='.*' INFO - Beginning load: /git/xpro/xpro/collapsed/xpro.war/WEB-INF/classes INFO - Configuring enterprise application: /git/xpro/xpro/classpath.ear INFO - Auto-deploying ejb SessionEventService: EjbDeployment(deployment-id=SessionEventService) : And here is it logging with 4.5.2… SLF4J: Class path contains multiple SLF4J bindings. SLF4J: Found binding in [jar:file:/git/xpro/xpro/web/src/test/lib-test/slf4j-log4j12-1.7.21.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: Found binding in [jar:file:/devel/apache-openejb-4.5.2/lib/slf4j-jdk14-1.7.2.jar!/org/slf4j/impl/StaticLoggerBinder.class] SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] INFO [main] (Slf4jLog.java:67) - Logging to org.slf4j.impl.Log4jLoggerAdapter(org.mortbay.log) via org.mortbay.log.Slf4jLog INFO [main] (Slf4jLog.java:67) - jetty-6.1.24 Mar 15, 2017 9:34:33 AM org.apache.openejb.OpenEJB$Instance <init> INFO: ******************************************************************************** Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: OpenEJB http://openejb.apache.org/ Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: Startup: Wed Mar 15 09:34:33 UTC 2017 Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: Copyright 1999-2012 (C) Apache OpenEJB Project, All Rights Reserved. Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: Version: 4.5.2 Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: Build date: 20130320 Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: Build time: 03:56 Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: ******************************************************************************** Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: openejb.home = /devel/apache-openejb-4.5.2 Mar 15, 2017 9:34:34 AM org.apache.openejb.OpenEJB$Instance <init> INFO: openejb.base = /devel/apache-openejb-4.5.2 Mar 15, 2017 9:34:34 AM org.apache.openejb.cdi.CdiBuilder initializeOWB INFO: Created new singletonService org.apache.openejb.cdi.ThreadSingletonServiceImpl@74e52ef6 Mar 15, 2017 9:34:34 AM org.apache.openejb.cdi.CdiBuilder initializeOWB INFO: Succeeded in installing singleton service Mar 15, 2017 9:34:35 AM org.apache.openejb.config.ConfigurationFactory init INFO: openejb configuration file is '/git/xpro/xpro/business/src/test/conf/openejb.xml' Mar 15, 2017 9:34:35 AM org.apache.openejb.config.ConfigurationFactory configureService INFO: Configuring Service(id=OpenEJBSecurityService, type=SecurityService, provider-id=OpenEJBSecurityService) Mar 15, 2017 9:34:35 AM org.apache.openejb.config.ConfigurationFactory configureService INFO: Configuring Service(id=Default Transaction Manager, type=TransactionManager, provider-id=Default Transaction Manager) Mar 15, 2017 9:34:35 AM org.apache.openejb.config.ConfigurationFactory configureService INFO: Configuring Service(id=XproDS, type=Resource, provider-id=Default JDBC Database) Mar 15, 2017 9:34:35 AM org.apache.openejb.config.ConfigurationFactory configureService INFO: Configuring Service(id=XproDSUnmanaged, type=Resource, provider-id=Default JDBC Database) Mar 15, 2017 9:34:35 AM org.apache.openejb.util.OptionsLog info INFO: Using 'openejb.system.apps=true' Mar 15, 2017 9:34:35 AM org.apache.openejb.config.ConfigurationFactory configureApplication INFO: Configuring enterprise application: openejb Mar 15, 2017 9:34:36 AM org.apache.openejb.config.InitEjbDeployments deploy INFO: Using openejb.deploymentId.format '{ejbName}' : I don’t know why the logging format is different. I dropped slf4j-jdk14-1.7.2.jar from the classpath and it made no difference. I don’t know why it says openejb.system.apps=true , but maybe it’s a new default, and I'm guessing that “true” has something to do with why it then says it’s configuring application openejb instead of, as seen in the 4.5.1 log, /git/xpro/xpro/classpath.ear . I tried running with -Dopenejb.system.apps=false but the log showed it still used openejb.system.apps=true . Why? BTW, I’m running in an old version of Jetty, fired up in a Java program in Eclipse. Anyone with experience in this? Thanks in advance, Geoff