OK finally I was able to test everything on CentOS using following steps: docker run centos docker run -it -p 5080:5080 -p 1935:1935 centos
yum install wget git ImageMagick java-1.8.0-openjdk-devel which wget http://mirror.linux-ia64.org/apache/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz tar -xzf apache-maven-3.5.4-bin.tar.gz mv apache-maven-3.5.4 /opt/ export PATH=/opt/apache-maven-3.5.4/bin:$PATH git clone https://github.com/apache/openmeetings.git git checkout 4.0.x cd openmeetings mvn clean install cd openmeetings-server/target/ mkdir server && cd server tar -xzf ../apache-openmeetings-4.0.5-SNAPSHOT.tar.gz ./red5-debug.sh Everything works as expected You can use above steps to double check everything On Fri, Aug 17, 2018 at 3:50 PM Coscend@OM <[email protected]> wrote: > Dear Maxim, > > As you suggested, here are the use cases and their results done in > multiple environments. We did at least 30 use cases / tests (Environments > used: CentOS 7.5.0 / 7.0 + MariaDB 10.3.9 / 10.0.16, JDK 1.8.181 / > 1.8.162, Maven 3.5.4 / 3.5.2). Each time, a new ./m2 > repository/openmeetings was downloaded and a new DB was created. > * OM-4.0.1 Builds and installs successfully. > * OM-4.0.4/4.0.5 Build success. Installation ERROR: All giving > MissingResourceException or WicketRuntimeException > > We understand the effort you put in 2015 to restructure SVN tree and then > refactor older tree structure (that used Ant) to the current (that uses > Maven). Here is a question / suggested solution to make OM scalable to > multiple environments, particularly enterprise-grade. This will attract > more users, thereby growing the community. > > Would it be better to place Application.properties.xml in a separate > src/main/resources directory, and include this resources directory in > runtime classpath? The intent is to help the product be more amenable to > more rigorous environments with stringent governing rules. > > > =========RESULTS: MissingResourceException and > WicketRuntimeException=========================== > > USE CASE: VANILLA BINARY: 4.0.5-SNAPSHOT (from Jenkins) and 4.0.4 > (openmeetings general release): Works fine. > > SOURCE CODE COMPILATION: > 4.0.1: Builds and Installs successfully > > 4.0.4 / 4.0.5: Builds successfully. Installation error > > Log error summary > Web install method > org.apache.wicket.WicketRuntimeException: Can't > instantiate page using constructor 'public > org.apache.openmeetings.web.pages.install.InstallWizardPage()'. An > exception has been thrown during construction! > Caused by: java.lang.reflect.InvocationTargetException: > null > Caused by: java.util.MissingResourceException: Unable to > find property: 'install.wizard.install.header' for component: > [class=org.apache.openmeetings.web.pages.install.InstallWizardPage]. > Locale: null, style: null > > > CLI: ./admin.sh > java.util.MissingResourceException: Unable to find > property: '108' for component: signin > [class=org.apache.openmeetings.web.pages.auth.SignInDialog]. Locale: null, > style: null > java.util.MissingResourceException: Unable to find > property: '114' for component: signin:signin > [class=org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm]. > Locale: null, style: null > > DETAILED LOGS > ================ > Web Install > ----------- > [1;31mERROR [0;39m 08-16 19:41:32.461 > [36mo.a.w.DefaultExceptionMapper:170 [<IP>-<port>-exec-2] [0;39m - > Unexpected error occurred > org.apache.wicket.WicketRuntimeException: Can't instantiate page using > constructor 'public > org.apache.openmeetings.web.pages.install.InstallWizardPage()'. An > exception has been thrown during construction! > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:194) > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:67) > at > org.apache.wicket.DefaultMapperContext.newPageInstance(DefaultMapperContext.java:90) > at > org.apache.wicket.core.request.handler.PageProvider$Provision.getPage(PageProvider.java:380) > at > org.apache.wicket.core.request.handler.PageProvider.getPageInstance(PageProvider.java:171) > at > org.apache.wicket.request.handler.render.PageRenderer.getPage(PageRenderer.java:78) > at > org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:231) > at > org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202) > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) > at > org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) > at > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) > at org.apache.wicket.protocol.ws > .AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:84) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764) > at org.apache.tomcat.util.net > .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388) > at org.apache.tomcat.util.net > .SocketProcessorBase.run(SocketProcessorBase.java:49) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:748) > Caused by: java.lang.reflect.InvocationTargetException: null > at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native > Method) > at > sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) > at > sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) > at java.lang.reflect.Constructor.newInstance(Constructor.java:423) > at > org.apache.wicket.session.DefaultPageFactory.newPage(DefaultPageFactory.java:175) > ... 37 common frames omitted > Caused by: java.util.MissingResourceException: Unable to find property: > 'install.wizard.install.header' for component: > [class=org.apache.openmeetings.web.pages.install.InstallWizardPage]. > Locale: null, style: null > at org.apache.wicket.Localizer.getString(Localizer.java:269) > at org.apache.wicket.Localizer.getString(Localizer.java:201) > at org.apache.wicket.Localizer.getString(Localizer.java:131) > at org.apache.wicket.Component.getString(Component.java:1829) > at org.apache.wicket.Component.getString(Component.java:1816) > at > org.apache.openmeetings.web.pages.install.InstallWizardPage.<init>(InstallWizardPage.java:36) > ... 42 common frames omitted > > CLI Install > -------------- > [1;31mERROR [0;39m 08-16 19:45:58.398 > [36mo.a.w.DefaultExceptionMapper:170 [<IP>-<port>-exec-2] [0;39m - > Unexpected error occurred > java.util.MissingResourceException: Unable to find property: '108' for > component: signin > [class=org.apache.openmeetings.web.pages.auth.SignInDialog]. Locale: null, > style: null > at org.apache.wicket.Localizer.getString(Localizer.java:269) > at org.apache.wicket.Localizer.getString(Localizer.java:201) > at org.apache.wicket.Localizer.getString(Localizer.java:131) > at org.apache.wicket.Component.getString(Component.java:1829) > at org.apache.wicket.Component.getString(Component.java:1816) > at > org.apache.openmeetings.web.pages.auth.SignInDialog.onInitialize(SignInDialog.java:102) > at org.apache.wicket.Component.fireInitialize(Component.java:871) > at > org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1043) > at > org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1039) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:975) > at > org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1038) > at org.apache.wicket.Page.isPageStateless(Page.java:461) > at > org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.getPageInfo(AbstractBookmarkableMapper.java:473) > at > org.apache.wicket.core.request.mapper.AbstractBookmarkableMapper.mapHandler(AbstractBookmarkableMapper.java:420) > at > org.apache.wicket.core.request.mapper.MountedMapper.mapHandler(MountedMapper.java:155) > at > org.apache.openmeetings.web.app.Application$NoVersionMapper.mapHandler(Application.java:282) > at > org.apache.wicket.request.mapper.CompoundRequestMapper.mapHandler(CompoundRequestMapper.java:210) > at > org.apache.wicket.request.cycle.RequestCycle.mapUrlFor(RequestCycle.java:449) > at > org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:233) > at > org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:202) > at > org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:912) > at > org.apache.wicket.request.RequestHandlerExecutor.execute(RequestHandlerExecutor.java:65) > at > org.apache.wicket.request.cycle.RequestCycle.execute(RequestCycle.java:283) > at > org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:253) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:221) > at org.apache.wicket.protocol.ws > .AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:84) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764) > at org.apache.tomcat.util.net > .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388) > at org.apache.tomcat.util.net > .SocketProcessorBase.run(SocketProcessorBase.java:49) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:748) > [31mWARN [0;39m 08-16 19:45:58.549 [36mo.a.w.p.RequestAdapter:191 > [<IP>-<port>-exec-2] [0;39m - An error occurred while checking whether a > page is stateless. Assuming it is stateful. > java.util.MissingResourceException: Unable to find property: '114' for > component: signin:signin > [class=org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm]. > Locale: null, style: null > at org.apache.wicket.Localizer.getString(Localizer.java:269) > at org.apache.wicket.Localizer.getString(Localizer.java:201) > at org.apache.wicket.Localizer.getString(Localizer.java:131) > at org.apache.wicket.Component.getString(Component.java:1829) > at org.apache.wicket.Component.getString(Component.java:1816) > at > org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm.onInitialize(SignInDialog.java:302) > at org.apache.wicket.Component.fireInitialize(Component.java:871) > at > org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1043) > at > org.apache.wicket.MarkupContainer$3.component(MarkupContainer.java:1039) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:144) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:162) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:123) > at > org.apache.wicket.util.visit.Visits.visitChildren(Visits.java:192) > at > org.apache.wicket.MarkupContainer.visitChildren(MarkupContainer.java:975) > at > org.apache.wicket.MarkupContainer.internalInitialize(MarkupContainer.java:1038) > at org.apache.wicket.Page.isPageStateless(Page.java:461) > at > org.apache.wicket.page.RequestAdapter.commitRequest(RequestAdapter.java:187) > at > org.apache.wicket.page.AbstractPageManager.commitRequest(AbstractPageManager.java:76) > at > org.apache.wicket.page.PageManagerDecorator.commitRequest(PageManagerDecorator.java:79) > at > org.apache.wicket.page.PageAccessSynchronizer$2.commitRequest(PageAccessSynchronizer.java:287) > at org.apache.wicket.Application$2.onDetach(Application.java:1597) > at > org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:105) > at > org.apache.wicket.request.cycle.RequestCycleListenerCollection$3.notify(RequestCycleListenerCollection.java:101) > at > org.apache.wicket.util.listener.ListenerCollection$1.notify(ListenerCollection.java:120) > at > org.apache.wicket.util.listener.ListenerCollection.reversedNotify(ListenerCollection.java:144) > at > org.apache.wicket.util.listener.ListenerCollection.reversedNotifyIgnoringExceptions(ListenerCollection.java:113) > at > org.apache.wicket.request.cycle.RequestCycleListenerCollection.onDetach(RequestCycleListenerCollection.java:100) > at > org.apache.wicket.request.cycle.RequestCycle.onDetach(RequestCycle.java:664) > at > org.apache.wicket.request.cycle.RequestCycle.detach(RequestCycle.java:609) > at > org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:225) > at org.apache.wicket.protocol.ws > .AbstractUpgradeFilter.processRequestCycle(AbstractUpgradeFilter.java:70) > at > org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:204) > at > org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:286) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.red5.logging.LoggerContextFilter.doFilter(LoggerContextFilter.java:84) > at > org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) > at > org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) > at > org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) > at > org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) > at > org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:608) > at > org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) > at > org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) > at > org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:668) > at > org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) > at > org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) > at > org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) > at > org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) > at > org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:764) > at org.apache.tomcat.util.net > .NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1388) > at org.apache.tomcat.util.net > .SocketProcessorBase.run(SocketProcessorBase.java:49) > at > java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) > at > org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) > at java.lang.Thread.run(Thread.java:748) > > Thank you. > > Sincerely, > > Hemant K. Sabat > www.Coscend.com <http://www.coscend.com/> > ------------------------------------------------------------------ > Real-time, Interactive Video Collaboration, Tele-healthcare, > Tele-education, Telepresence Services, on the fly… > ------------------------------------------------------------------ > CONFIDENTIALITY NOTICE: See 'Confidentiality Notice Regarding E-mail > Messages from Coscend Communications Solutions' posted at: > http://www.Coscend.com/Anchor/Common/Terms_and_Conditions.html > > > > -----Original Message----- > From: Maxim Solodovnik [mailto:[email protected]] > Sent: Wednesday, August 15, 2018 2:38 AM > To: dev <[email protected]>; [email protected] > Subject: Re: 4.0.5 SNAPSHOT Build and Installation Errors > > Which archive are you using? > apache-openmeetings-4.0.5-SNAPSHOT.tar.gz? > > it definitely contains all string resources in proper location > > Could you > 1) download latest apache-openmeetings-4.0.5-SNAPSHOT.tar.gz > 2) extract to new, empty folder > 3) run ./red-debug.sh > What would be the result? > > On Wed, Aug 15, 2018 at 12:29 PM Coscend@OM <[email protected] > <mailto:[email protected]> > wrote: > > > > Dear Maxim, > > > > Below is another validation of Java Exceptions in InstallWizardPage.java > and SignInDialog.java of Application.properties.xml. > > > > CENTOS 7.0 > > + > > JDK 1.8.162 > > vs > > JDK 1.8.181 > > > > Use case 1: Use OM-405 snapshot “BINARY” from Jenkins > > https://builds.apache.org/view/M-R/view/OpenMeetings/job/OpenMeetings% > > 204.0.x/ > > --------------- > > Everything works. Does it use Ubuntu? > > > > > > > > Use case 2: Compiled OM-405 snapshot “SOURCE CODE” from Jenkins > > --------------- > > (A) JDK 1.8.162 + CentOS 7 + Maven 3.5.4 + MariadB 10.0.6 Throws two > > Java exceptions: > > org.apache.wicket.WicketRuntimeException: Can't > instantiate page using constructor 'public > org.apache.openmeetings.web.pages.install.InstallWizardPage()'. An > exception has been thrown during construction! > > Caused by: java.lang.reflect.InvocationTargetException: > null > > Caused by: java.util.MissingResourceException: Unable > > to find property: 'install.wizard.install.header' for component: > > [class=org.apache.openmeetings.web.pages.install.InstallWizardPage]. > > Locale: null, style: null > > > > > > (B) JDK 1.8.181 + CentOS 7 + Maven 3.5.4 + MariadB 10.0.6 Throws two > > Java exceptions: > > java.util.MissingResourceException: Unable to find > property: '108' for component: signin > [class=org.apache.openmeetings.web.pages.auth.SignInDialog]. Locale: null, > style: null > > java.util.MissingResourceException: Unable to find > > property: '114' for component: signin:signin > > [class=org.apache.openmeetings.web.pages.auth.SignInDialog$SignInForm] > > . Locale: null, style: null > > > > Thank you. > > > > Sincerely, > > > > > --- > This email has been checked for viruses by AVG. > https://www.avg.com > -- WBR Maxim aka solomax
