Supressing Jetty output during Ant build - ant

I'm creating an ant script to do some integration testing for a small project. The application in question is a web application packaged as a WAR. Currently, my ant script generates a WAR file, launches Jetty with the packaged WAR file, and then runs my Selenium based unit tests against the server application. Everything is working so far.
My problem is that the Jetty ant plugin generates a huge amount of logging output to the terminal. I'd really like to change the logging level for Jetty, but I can't figure out how. I've tried changing jetty logging system properties in two different ways, and neither worked. First by including <systemproperty> elements in the ant file, and second by setting them using ant_opts (That is, I've set ANT_OPTS="-Dorg.eclipse.jetty.LEVEL=WARN -Dorg.eclipse.jetty.util.log.class=org.eclipse.jetty.util.log.StrErrLog")
I'm running the server in daemon mode so that it will run alongside my testing targets. So, although I was able to turn off logging in the jetty.run target itself, that also turned off logging in the test target, and if I turned it back on in the test target, then all jetty output during the test is still written to the terminal. Also, all Jetty output during the test target is labelled as [junit], since it's being output during the test target.
I want to lower the logging level for Jetty to WARN (which really ought to be the default for the plugin) and I cannot figure out how. I've included the relevant parts of the build script.
<target name="jetty.run" depends="build-and-package">
<typedef name="webApp" classname="org.eclipse.jetty.ant.AntWebAppContext" classpathref="classpath" loaderref="jetty.loader" onerror="ignore" />
<taskdef classpathref="classpath" resource="tasks.properties" loaderref="jetty.loader" />
<jetty.run daemon="true">
<systemProperties>
<systemProperty name="org.eclipse.jetty.LEVEL" value="WARN" />
<systemProperty name="org.eclipse.jetty.util.log.class" value="org.eclipse.jetty.util.log.StrErrLog" />
</systemProperties>
<webApp war="${artifacts}/${warfilename}" contextPath="/" />
</jetty.run>
</target>
<target name="test" depends="compile-tests, jetty.run">
<mkdir dir="${junit.output.dir}" />
<junit fork="yes" printsummary="withOutAndErr" haltonfailure="yes" haltonerror="yes">
<formatter type="xml" />
<batchtest todir="${junit.output.dir}">
<fileset dir="${compiled-tests.dir}">
<include name="**/*Test*" />
</fileset>
</batchtest>
<classpath refid="classpath" />
<classpath path="${compiled-classes.dir}" />
<classpath path="${compiled-tests.dir}" />
</junit>
</target>
Edit Here is some (very trimmed) sample output starting from the jetty.run task. I am trying to eliminate all or most of the non-junit output
jetty.run:
[jetty.run] Daemon=true
[jetty.run] 2015-02-02 14:47:47.671:INFO::main: Logging initialized #2789ms
[jetty.run] Configuring Jetty for project: Build script for Vaadin 7 projects
[jetty.run] Setting property 'org.eclipse.jetty.LEVEL' to value 'WARN'
[jetty.run] Setting property 'org.eclipse.jetty.util.log.class' to value 'org.eclipse.jetty.util.log.StrErrLog'
[jetty.run] 2015-02-02 14:47:47.757:INFO:oejs.Server:main: jetty-9.2.7.v20150116
[jetty.run] 2015-02-02 14:47:47.769: Starting web application null
[jetty.run] 2015-02-02 14:47:48.759:INFO:oejw.StandardDescriptorProcessor:main: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet
[jetty.run] 2015-02-02 14:47:48.794:INFO:oejsh.ContextHandler:main: Started o.e.j.a.AntWebAppContext#cad498c{/,file:/tmp/jetty-0.0.0.0-8080-card_trainer.war-_-any-2642472331853673434.dir/webapp/,AVAILABLE}{build/card_trainer.war}
[jetty.run] 2015-02-02 14:47:48.795:WARN:oejsh.RequestLogHandler:main: !RequestLog
[jetty.run] 2015-02-02 14:47:48.807:INFO:oejs.ServerConnector:main: Started ServerConnector#6c5a7edc{HTTP/1.1}{0.0.0.0:8080}
[jetty.run] 2015-02-02 14:47:48.808:INFO:oejs.Server:main: Started #3929ms
[jetty.run] Jetty AntTask Started
test:
[junit] WARNING: multiple versions of ant detected in path for junit
[junit] jar:file:/usr/share/ant/lib/ant.jar!/org/apache/tools/ant/Project.class
[junit] and jar:file:/home/dyule/git/card_trainer/ivy_libs/nodeploy/ant.jar!/org/apache/tools/ant/Project.class
[junit] Running com.example.card_trainer.CardSourceTest
[junit] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.126 sec
[junit] Running com.example.card_trainer.Card_trainerTest
[junit] Feb 02, 2015 2:47:51 PM
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
[junit] INFO: Installed AtmosphereHandler com.vaadin.server.communication.PushHandler$1 mapped to context-path: /*
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
[junit] INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushHandler$1
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.AtmosphereFramework doInitParams
[junit] WARNING: SessionSupport error. Make sure you define org.atmosphere.cpr.SessionSupport as a listener in web.xml instead
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
[junit] INFO: Atmosphere is using org.atmosphere.cpr.DefaultAnnotationProcessor for processing annotation
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.DefaultAnnotationProcessor configure
[junit] INFO: AnnotationProcessor class org.atmosphere.cpr.DefaultAnnotationProcessor$ServletContainerInitializerAnnotationProcessor being used
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.DefaultAnnotationProcessor fallbackToManualAnnotatedClasses
[junit] WARNING: Unable to detect annotations. Application may fail to deploy.
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.AtmosphereFramework autoDetectWebSocketHandler
[junit] INFO: Auto detecting WebSocketHandler in /WEB-INF/classes/
[junit] Feb 02, 2015 2:47:51 PM org.atmosphere.cpr.AtmosphereFramework initWebSocket
[junit] INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol

From ant script - Its true that you are using Default Logging for Jetty
StdErrLog.
Of course, this will throws all the logging to Terminal (STDOUT, STDERR)
You can capture its content to a file -
Capturing Console Output to File
logging module in Jetty distribution that is capable of performing simple capturing of all STDOUT and STDERR output to a file.
add "--module=logging" to $JETTY_HOME/start.ini file
For More info: Default Logging with Jetty's StdErrLog
Configuring StdErrLog
The recommended way to configure StdErrLog is to create a ${jetty.home}/resources/jetty-logging.properties file, specify the Log implementation to StdErrLog and then setup your logging levels.
-Hope this may be helpful

Related

jenkins failed to load on java.io.IOException

We had installed Jenkins couple of weeks back when we migrated from one server to another, which was working fine.
We later migrated our jobs with same name like previous job in old jenkins and installed plugins needed. They were also working fine.
Later placed one job’s config.xml and restarted jenkins using safe restart from ui and as a process too.
But jenkins is failing on some 'ERROR Unable to create file nga/logs/nga.log java.io.IOException'.
We really don't understand where it was trying to write in unix file system.
We tried completely removing that last job of which we had pasted config.xml and restarted it, even same error.
On UI it says : Please wait while Jenkins is getting ready to work…
jenkins version: 2.89.3
java : 1.8.0_60
Full jenkins logs are below.
Jenkins home directory: /app/jenkins/jenkins_home found at: SystemProperties.getProperty("JENKINS_HOME")
Feb 17, 2018 12:53:00 PM org.eclipse.jetty.server.handler.ContextHandler doStart
INFO: Started w.#2254127a{/,file:///var/cache/jenkins/war/,AVAILABLE}{/var/cache/jenkins/war}
Feb 17, 2018 12:53:00 PM org.eclipse.jetty.server.AbstractConnector doStart
INFO: Started ServerConnector#5be1d0a4{HTTP/1.1,[http/1.1]}{0.0.0.0:8080}
Feb 17, 2018 12:53:00 PM org.eclipse.jetty.server.Server doStart
INFO: Started #1101ms
Feb 17, 2018 12:53:00 PM winstone.Logger logInternal
INFO: Winstone Servlet Engine v4.0 running: controlPort=disabled
Feb 17, 2018 12:53:01 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Feb 17, 2018 12:53:01 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Feb 17, 2018 12:53:01 PM hudson.plugins.ansicolor.PluginImpl start
INFO: AnsiColor: eliminating boring output (https://github.com/jenkinsci/ansicolor-plugin)
Feb 17, 2018 12:53:04 PM com.sonyericsson.hudson.plugins.gerrit.trigger.PluginImpl start
INFO: Starting Gerrit-Trigger Plugin
Feb 17, 2018 12:53:04 PM com.sonymobile.tools.gerrit.gerritevents.GerritSendCommandQueue startQueue
INFO: SendQueue started! Current pool size: 1
Feb 17, 2018 12:53:04 PM ruby.RubyRuntimePlugin start
INFO: Injecting JRuby into XStream
2018-02-17 12:53:11,291 pool-6-thread-3 ERROR Unable to create file nga/logs/nga.log java.io.IOException: No such file or directory
at java.io.UnixFileSystem.createFileExclusively(Native Method)
at java.io.File.createNewFile(File.java:1012)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:421)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:403)
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:73)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:81)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:103)
at org.apache.logging.log4j.core.appender.RollingFileAppender.createAppender(RollingFileAppender.java:191)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:132)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:918)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:858)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:850)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:479)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:219)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:231)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:566)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:582)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:217)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at com.hpe.application.automation.tools.octane.tests.junit.JUnitExtension.<clinit>(JUnitExtension.java:69)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:669)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:476)
at hudson.ExtensionList.load(ExtensionList.java:366)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
at hudson.ExtensionList.getComponents(ExtensionList.java:169)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1096)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:82)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:104)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:176)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
2018-02-17 12:53:11,298 pool-6-thread-3 ERROR Unable to invoke factory method in class class org.apache.logging.log4j.core.appender.RollingFileAppender for element RollingFile. java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:497)
at org.apache.logging.log4j.core.config.plugins.util.PluginBuilder.build(PluginBuilder.java:132)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createPluginObject(AbstractConfiguration.java:918)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:858)
at org.apache.logging.log4j.core.config.AbstractConfiguration.createConfiguration(AbstractConfiguration.java:850)
at org.apache.logging.log4j.core.config.AbstractConfiguration.doConfigure(AbstractConfiguration.java:479)
at org.apache.logging.log4j.core.config.AbstractConfiguration.initialize(AbstractConfiguration.java:219)
at org.apache.logging.log4j.core.config.AbstractConfiguration.start(AbstractConfiguration.java:231)
at org.apache.logging.log4j.core.LoggerContext.setConfiguration(LoggerContext.java:496)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:566)
at org.apache.logging.log4j.core.LoggerContext.reconfigure(LoggerContext.java:582)
at org.apache.logging.log4j.core.LoggerContext.start(LoggerContext.java:217)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:152)
at org.apache.logging.log4j.core.impl.Log4jContextFactory.getContext(Log4jContextFactory.java:45)
at org.apache.logging.log4j.LogManager.getContext(LogManager.java:194)
at org.apache.logging.log4j.LogManager.getLogger(LogManager.java:551)
at com.hpe.application.automation.tools.octane.tests.junit.JUnitExtension.<clinit>(JUnitExtension.java:69)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:348)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:669)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:476)
at hudson.ExtensionList.load(ExtensionList.java:366)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:304)
at hudson.ExtensionList.getComponents(ExtensionList.java:169)
at jenkins.model.Jenkins$6.onInitMilestoneAttained(Jenkins.java:1096)
at jenkins.InitReactorRunner$1.onAttained(InitReactorRunner.java:82)
at org.jvnet.hudson.reactor.ReactorListener$Aggregator.onAttained(ReactorListener.java:104)
at org.jvnet.hudson.reactor.Reactor$1.run(Reactor.java:176)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:117)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.IllegalStateException: ManagerFactory [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory#774e54e] unable to create manager for [nga/logs/nga.log] with data [org.apache.logging.log4j.core.appender.rolling.RollingFileManager$FactoryData#36770e67[pattern=nga/logs/nga-%i.log, append=true, bufferedIO=true, bufferSize=8192, policy=CompositeTriggeringPolicy(policies=[SizeBasedTriggeringPolicy(size=2097152)]), strategy=DefaultRolloverStrategy(min=1, max=10), advertiseURI=null, layout=%d{dd/MM/yyyy HH:mm:ss,SSS} %p - %c{1}: %m%n]]
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:75)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:81)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:103)
at org.apache.logging.log4j.core.appender.RollingFileAppender.createAppender(RollingFileAppender.java:191)
... 35 more
2018-02-17 12:53:11,302 pool-6-thread-3 INFO Log4j appears to be running in a Servlet environment, but there's no log4j-web module available. If you want better web container support, please add the log4j-web JAR to your web archive or server lib directory.
2018-02-17 12:53:11,332 pool-6-thread-3 ERROR Null object returned for RollingFile in Appenders.
2018-02-17 12:53:11,341 pool-6-thread-3 ERROR Unable to locate appender "OctaneFileAppender" for logger config "root"
Feb 17, 2018 12:53:16 PM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Feb 17, 2018 12:53:16 PM com.sonyericsson.hudson.plugins.gerrit.trigger.replication.ReplicationCache initialize
INFO: initialized replication cache with expiration in MINUTES: 360
Feb 17, 2018 12:53:16 PM com.sonyericsson.hudson.plugins.gerrit.trigger.replication.ReplicationQueueTaskDispatcher <init>
WARNING: No GerritHandler was specified, won't register as event listener, so no function.
Feb 17, 2018 12:53:16 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Feb 17, 2018 12:53:17 PM hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1 error
INFO: Failed to instantiate optional component hudson.plugins.build_timeout.operations.AbortAndRestartOperation$DescriptorImpl; skipping
Feb 17, 2018 12:53:17 PM hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1 error
INFO: Failed to instantiate optional component org.biouno.unochoice.model.ScriptlerScript$DescriptorImpl; skipping
What resolved this for me with Jenkins 2.150.3 installed was to:
Uninstall ActiveChoices plugin which is the source of the org.biouno.unochoice... in the last line of the log.
Having done that action and restarting Jenkins, the startup log in jenkins.err.log was clean with the last line being Started all plugins.
Yet Jenkins was still stuck on the "Jenkins is starting up" screen.
Uninstall Azure CLI 2.0.59 (at time of writing this is the latest version of Azure CLI).
This fixed it for me. Jenkins login page appeared.
Azure CLI 2.0.59 kills Jenkins 2.150.3!
I suspect unochoice plugin may have nothing to do with it.

Why does jboss-as:deploy fail?

I wanted to deploy my war file to JBoss 7.1.1 after compilation. But it fails with the following line in output (setting maven debug output to -X and -e does not create more verbose output).
My maven command I use to invoke it is: clean install -Pintegration jboss-as:deploy
[INFO] --- jboss-as-maven-plugin:7.1.1.Final:deploy (default-cli) # webapp ---
Aug 28, 2013 11:58:26 AM org.xnio.Xnio <clinit>
INFO: XNIO Version 3.0.3.GA
Aug 28, 2013 11:58:26 AM org.xnio.nio.NioXnio <clinit>
INFO: XNIO NIO Implementation Version 3.0.3.GA
Aug 28, 2013 11:58:26 AM org.jboss.remoting3.EndpointImpl <clinit>
INFO: JBoss Remoting version 3.2.3.GA
mojoFailed org.jboss.as.plugins:jboss-as-maven-plugin:7.1.1.Final(default-cli)
projectFailed com.foo:webapp:0.0.1-SNAPSHOT
[HUDSON] Archiving C:\Users\Administrator\.hudson\jobs\CCMS\workspace\pom.xml to C:\Users\Administrator\.hudson\jobs\CCMS\modules\com.foo$webapp\builds\2013-08-28_11-57-43\archive\com.foo\webapp\0.0.1-SNAPSHOT\pom.xml
[HUDSON] Archiving C:\Users\Administrator\.hudson\jobs\CCMS\workspace\target\webapp.war to C:\Users\Administrator\.hudson\jobs\CCMS\modules\com.foo$webapp\builds\2013-08-28_11-57-43\archive\com.foo\webapp\0.0.1-SNAPSHOT\webapp.war
sessionEnded
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 57.908s
[INFO] Finished at: Wed Aug 28 11:58:49 CEST 2013
[INFO] Final Memory: 21M/250M
[INFO] ------------------------------------------------------------------------
maven builder waiting
mavenExecutionResult exceptions not empty
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.jboss.as.plugins:jboss-as-maven-plugin:7.1.1.Final:deploy (default-cli) on project webapp: Deployment failed and was rolled back.
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.jvnet.hudson.maven3.launcher.Maven3Launcher.main(Maven3Launcher.java:79)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchStandard(Launcher.java:329)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:239)
at org.jvnet.hudson.maven3.agent.Maven3Main.launch(Maven3Main.java:146)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:124)
at hudson.maven.Maven3Builder.call(Maven3Builder.java:71)
at hudson.remoting.UserRequest.perform(UserRequest.java:107)
at hudson.remoting.UserRequest.perform(UserRequest.java:41)
at hudson.remoting.Request$2.run(Request.java:276)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
Caused by: org.apache.maven.plugin.MojoExecutionException: Deployment failed and was rolled back.
at org.jboss.as.plugin.deployment.standalone.StandaloneDeployment.execute(StandaloneDeployment.java:147)
at org.jboss.as.plugin.deployment.AbstractDeployment.execute(AbstractDeployment.java:138)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 27 more
Before that, I added mgmtuser with the batch files to the jboss management realm.
Profile pom.xml configuration is:
<profile>
<!-- The profile to build in the integration environment -->
<id>integration</id>
<build>
<plugins>
<!-- Use this plugin to cleanly deploy the application -->
<plugin>
<groupId>org.jboss.as.plugins</groupId>
<artifactId>jboss-as-maven-plugin</artifactId>
<version>7.1.1.Final</version>
<configuration>
<hostname>localhost</hostname>
<username>mgmtuser</username>
<password>pwd</password>
<force>true</force>
</configuration>
</plugin>
</plugins>
</build>
</profile>
How could I retrieve detailed information about the error?
I looked up the server.log and spoted Can't find a persistence unit named foo in deployment.
Altough it worked in local development with Eclipse, it failed on integration. Reason: the persistence.xml was not included in the classpath. In the war file that is: /WEB-INF/classes/META-INF/persistence.xml
Any place else results in an error.

Jenkins - java.lang.OutOfMemoryError: PermGen space -

Environment: Linux/Windows7, Java 1.6.0.03/37 or 1.7
I downloaded jenkins.war and after the initial setup using the following script/command, I downloaded some plugins(10-15) and tried to restart Jenkins, it worked. Then, I got some more plugins (30-40 in total) and either I chose Install or download+then+install, Jenkins didn't come up.
i.e. using startJenkins.sh (Linux only). Note: On Windows7 Jenkins started as a Windows service.
#!/bin/bash
export JAVA_HOME=/production/jenkinsAKS/java/jdk1.6.0_03
export JENKINS_HOME=/production/jenkinsAKS
export PATH=${JAVA_HOME}/bin:${PATH}
export JENKINS_HTTP_PORT=9040
export JENKINS_AJP13_PORT=9949
now=`date +%Y%m%d_%H%M%S`
echo $0 begins ${now}
echo " java-home=${JAVA_HOME}, jenkins-home=${JENKINS_HOME}, path=${PATH}"
java -jar ${JENKINS_HOME}/lib/jenkins.war -XX:MaxPermSize=4096m --logfile=${JENKINS_HOME}/log/jenkins.log${now} --httpPort=${JENKINS_HTTP_PORT} --ajp13Port=${JENKINS_AJP13_PORT} &
Initially I didn't use "-XX:MaxPermSize=4096m" parameter but as soon as I saw the following error message, I tried various values like 128/512/1024,2048,4096m etc, didn't help with the error.
INFO: Beginning extraction from war file
Jenkins home directory: /production/jenkinsAKS found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
Aug 1, 2013 1:17:15 PM winstone.Logger logInternal
INFO: HTTP Listener started: port=9040
Aug 1, 2013 1:17:15 PM winstone.Logger logInternal
INFO: AJP13 Listener started: port=9949
Aug 1, 2013 1:17:15 PM winstone.Logger logInternal
INFO: Winstone Servlet Engine v0.9.10 running: controlPort=disabled
Aug 1, 2013 1:17:16 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
Aug 1, 2013 1:17:16 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
Aug 1, 2013 1:17:16 PM hudson.plugins.ansicolor.PluginImpl start
INFO: AnsiColor: eliminating boring output (https://github.com/dblock/jenkins-ansicolor-plugin)
Aug 1, 2013 1:17:16 PM org.jvnet.hudson.plugins.backup.BackupPluginImpl loadConfiguration
INFO: Loading configuration...
Aug 1, 2013 1:17:16 PM org.jvnet.hudson.plugins.backup.utils.BackupPersistence loadConfig
INFO: Config file not found.
Aug 1, 2013 1:17:18 PM ruby.RubyRuntimePlugin start
INFO: Injecting JRuby into XStream
Trying to load models from /production/jenkinsAKS/plugins/pathignore/WEB-INF/classes/models
Loading /production/jenkinsAKS/plugins/pathignore/WEB-INF/classes/models/pathignore_wrapper.rb
Aug 1, 2013 1:17:26 PM hudson.plugins.greenballs.PluginImpl start
INFO: Green Balls!
Aug 1, 2013 1:17:26 PM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
Aug 1, 2013 1:17:32 PM hudson.ExtensionFinder$GuiceFinder$FaultTolerantScope$1 error
WARNING: Failed to instantiate optional component org.jfrog.hudson.ivy.ArtifactoryIvyConfigurator$DescriptorImpl; skipping
Aug 1, 2013 1:17:32 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
Aug 1, 2013 1:17:32 PM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
Aug 1, 2013 1:17:32 PM jenkins.InitReactorRunner$1 onAttained
INFO: Loaded all jobs
Aug 1, 2013 1:17:32 PM hudson.plugins.scm_sync_configuration.ScmSyncConfigurationBusiness queueChangeSet
INFO: Queue of changeset A hudson.model.UpdateCenter.xml
aborted (scm manipulator not settled !)
Aug 1, 2013 1:17:32 PM org.jenkinsci.main.modules.sshd.SSHD start
INFO: Started SSHD at port 36227
Aug 1, 2013 1:17:32 PM jenkins.InitReactorRunner$1 onAttained
INFO: Completed initialization
Aug 1, 2013 1:17:32 PM hudson.TcpSlaveAgentListener <init>
INFO: JNLP slave agent listener started on TCP port 46056
The following triggers are available for your jobs
[Trigger] - Build periodically
[Trigger] - Build when another project is promoted
[Trigger] - Maven Dependency Update Trigger
[Trigger] - Poll SCM
[Trigger] - [BuildResultTrigger] - Monitor build results of other jobs
[Trigger] - [FSTrigger] - Monitor files
[Trigger] - [FSTrigger] - Monitor folder
[Trigger] - [IvyTrigger] - Poll with an Ivy script
[Trigger] - [ScriptTrigger] - Poll with a Groovy script
[Trigger] - [ScriptTrigger] - Poll with a shell or batch script
[Trigger] - [URLTrigger] - Poll with a URL
Aug 1, 2013 1:17:33 PM hudson.WebAppMain$2 run
INFO: Jenkins is fully up and running
Exception in thread "Jenkins cron thread" java.lang.OutOfMemoryError: PermGen space
Exception in thread "JmDNS(sagrdev3sb12.local.).State.Timer" java.lang.OutOfMemoryError: PermGen space
Exception in thread "ConnectorThread:[http-9040]" java.lang.OutOfMemoryError: PermGen space
Exception in thread "JmDNS(sagrdev3sb12.local.).Timer" java.lang.OutOfMemoryError: PermGen space
Exception in thread "WinstoneHostConfigurationMgmt:default" java.lang.OutOfMemoryError: PermGen space
or sometimes I see:
30 Aug 1, 2013 1:50:29 AM jenkins.InitReactorRunner$1 onAttained
31 INFO: Prepared all plugins
32 Exception in thread "pool-2-thread-20" java.lang.OutOfMemoryError: PermGen space
33 Aug 1, 2013 1:51:10 AM winstone.Logger logInternal
34 WARNING: Untrapped Error in Servlet
35 java.lang.OutOfMemoryError: PermGen space
36 Aug 1, 2013 1:51:12 AM winstone.Logger logInternal
37 SEVERE: Error in the error servlet
38 java.lang.OutOfMemoryError: PermGen space
39 Exception in thread "Jenkins cron thread" java.lang.OutOfMemoryError: PermGen space
-bash-3.2$
How can I resolve this issue? The same issue came up when I did the same exercise on my Windows desktop machine. Do I need to use less or a limited number of plugins?
Thanks
In my ~/.bash_profile file, I have set the following 3 variables. Note there are other variables in this file as well i.e. JAVA_HOME, ANT_HOME, SONAR_HOME, SONAR_RUNNER_HOME, etc:
export JAVA_OPTS="-XX:MaxPermSize=512m -Xms512m -Xmx1024m"
export GRADLE_OPTS="-XX:MaxPermSize=512m"
export SONAR_RUNNER_OPTS="-Xmx512m -XX:MaxPermSize=512m"
All - working now.
The first export line: will get Jenkins going without PermGen error, the 2nd line will make Gradle going when Jenkins calls Gradle script (via a another wrapper script for ex. .sh/etc), third line makes "sonar-runner" command to work fine (otherwise, I was getting an error for PermGen after "Initialize Hibernate"... line during sonar-runner command's output). You run sonar-runner command in the workspace where you have compiled java, reports related to static code analysis tools (pmd/checkstyle/findbugs) and other code coverage reports (jacoco/cobertura). Workspace should have "sonar-project.properties" file. Look for SonarQube help pages about this file and what all variables it contains for a project.
All those options are documented here:
http://docs.oracle.com/javase/8/docs/technotes/tools/windows/java.html
or here if you are using Java 7:
http://docs.oracle.com/javase/7/docs/technotes/tools/windows/java.html
IF you are using Gradle, You can set the -Xmx or -XX:MaxPermSize by adding a GRADLE_OPTS global environment variable in the Jenkins global configuration. To do this, click Manage Jenkins, then Configure System. In the Global properties section, click the Environment Variables checkbox, then add a new environment variable called GRADLE_OPTS with the value set appropriately as below:
name: GRADLE_OPTS
value: -Xmx1024m -XX:MaxPermSize=1024m
where 1024 is memory specified. You can change it as per your requireent.
Similar configuration is needed for Maven. Please see the link below for more details:
https://wiki.jenkins-ci.org/display/JENKINS/Builds+failing+with+OutOfMemoryErrors

Jenkins won't start: WARNING: Failed to load hudson.scm.Cvs

I recently upgraded Jenkins from 1.506 to 1.515
After the upgrade, Jenkins doesn't seem to start. The logs are full of warnings like:
WARNING: Failed to load hudson.scm.Cvs...
java.lang.InstantiationException: file:/jenkins/plugins/cvs/WEB-INF/classes/META-INF/annotations/hudson.Extension might need to be rebuilt: java.lang.ClassNotFoundException: hudson.scm.Cvs...
And the web GUI is inaccessible (times out).
I have downgraded to 1.506 again, but same result.
Since all the log warnings are CVS related (which I don't use, we're on svn), I tried deleting
/jenkins/plugins/cvs
/jenkins/plugins/cvs.jpi
But they come back after each restart, along with all the warnings.
I am running jenkins as a war in a dedicated tomcat running on Solaris.
Right now, Jenkins is completely inaccessible. Any pointers appreciated!
Larger snippet of logs below.
May 23, 2013 2:50:17 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-28080
May 23, 2013 2:50:17 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 538 ms
May 23, 2013 2:50:17 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 23, 2013 2:50:17 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.20
Jenkins home directory: /data/trg/tar5/jenkins found at: EnvVars.masterEnvVars.get("JENKINS_HOME")
May 23, 2013 2:50:19 PM org.apache.coyote.http11.Http11Protocol start
INFO: Starting Coyote HTTP/1.1 on http-28080
May 23, 2013 2:50:19 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 2182 ms
May 23, 2013 2:50:21 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started initialization
May 23, 2013 2:50:21 PM jenkins.InitReactorRunner$1 onAttained
INFO: Listed all plugins
ScriptContent not available for JVM 1.5
May 23, 2013 2:50:22 PM jenkins.InitReactorRunner$1 onAttained
INFO: Prepared all plugins
May 23, 2013 2:50:22 PM jenkins.InitReactorRunner$1 onAttained
INFO: Started all plugins
May 23, 2013 2:50:22 PM jenkins.InitReactorRunner$1 onAttained
INFO: Augmented all extensions
May 23, 2013 2:50:23 PM hudson.ExtensionFinder$Sezpoz scout
WARNING: Failed to scout hudson.scm.CvsModule$DescriptorImpl
java.lang.InstantiationException: file:/data/trg/tar5/jenkins/plugins/cvs/WEB-INF/classes/META-INF/annotations/hudson.Extension might need to be rebuilt: java.lang.ClassNotFoundException: hudson.scm.CvsModule$DescriptorImpl
at net.java.sezpoz.IndexItem.element(IndexItem.java:144)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:666)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:312)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.iterator(ExtensionList.java:138)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:311)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.get(ExtensionList.java:153)
at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1090)
at hudson.maven.PluginImpl.init(PluginImpl.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:893)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: hudson.scm.CvsModule$DescriptorImpl
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:966)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
... 24 more
May 23, 2013 2:50:23 PM hudson.ExtensionFinder$Sezpoz scout
WARNING: Failed to scout hudson.scm.CvsRepositoryItem$CvsRepositoryItemDescriptor
java.lang.InstantiationException: file:/data/trg/tar5/jenkins/plugins/cvs/WEB-INF/classes/META-INF/annotations/hudson.Extension might need to be rebuilt: java.lang.ClassNotFoundException: hudson.scm.CvsRepositoryItem$CvsRepositoryItemDescriptor
at net.java.sezpoz.IndexItem.element(IndexItem.java:144)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:666)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:312)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.iterator(ExtensionList.java:138)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:311)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.get(ExtensionList.java:153)
at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1090)
at hudson.maven.PluginImpl.init(PluginImpl.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:893)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: hudson.scm.CvsRepositoryItem$CvsRepositoryItemDescriptor
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:966)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
... 24 more
May 23, 2013 2:50:23 PM hudson.ExtensionFinder$Sezpoz scout
WARNING: Failed to scout hudson.scm.browsers.ViewCVS$DescriptorImpl
java.lang.InstantiationException: file:/data/trg/tar5/jenkins/plugins/cvs/WEB-INF/classes/META-INF/annotations/hudson.Extension might need to be rebuilt: java.lang.ClassNotFoundException: hudson.scm.browsers.ViewCVS$DescriptorImpl
at net.java.sezpoz.IndexItem.element(IndexItem.java:144)
at hudson.ExtensionFinder$Sezpoz.scout(ExtensionFinder.java:666)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:312)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.iterator(ExtensionList.java:138)
at hudson.ClassicPluginStrategy.findComponents(ClassicPluginStrategy.java:311)
at hudson.ExtensionList.load(ExtensionList.java:295)
at hudson.ExtensionList.ensureLoaded(ExtensionList.java:248)
at hudson.ExtensionList.get(ExtensionList.java:153)
at hudson.PluginManager$PluginUpdateMonitor.getInstance(PluginManager.java:1090)
at hudson.maven.PluginImpl.init(PluginImpl.java:54)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at hudson.init.InitializerFinder.invoke(InitializerFinder.java:120)
at hudson.init.InitializerFinder$TaskImpl.run(InitializerFinder.java:184)
at org.jvnet.hudson.reactor.Reactor.runTask(Reactor.java:259)
at jenkins.model.Jenkins$7.runTask(Jenkins.java:893)
at org.jvnet.hudson.reactor.Reactor$2.run(Reactor.java:187)
at org.jvnet.hudson.reactor.Reactor$Node.run(Reactor.java:94)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.ClassNotFoundException: hudson.scm.browsers.ViewCVS$DescriptorImpl
at hudson.PluginManager$UberClassLoader.findClass(PluginManager.java:966)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at net.java.sezpoz.IndexItem.element(IndexItem.java:134)
... 24 more
May 23, 2013 2:50:23 PM hudson.ExtensionFinder$Sezpoz scout
WARNING: Failed to scout hudson.scm.cvstagging.LegacyTagAction$LegacyTagActionDescriptor
I resolved this by clearing the "Workspace Root Directory". That is:
Stopping Jenkins
Moving the workspace folder (mv JENKINS_HOME/workspace JENKINS_HOME/workspace-old)
Creating a new workspace (mkdir JENKINS_HOME/workspace)
Restarting Jenkins
I don't what became corrupted, or how, but this solution didn't seem to have any adverse affects.
According to the Jenkins config page (Jenkins > Manage Jenkins > Configure System > Click Advance button near Home directory) the Workspace Root Directory is used to "Specify where Jenkins would store job workspaces on the master node."
From what I could determine, it seems to just store the files checked out from svn for each job, which are obviously easily replaced.
Anyway, all working again now.
And the upgrade worked fine second time around.

Failure to deploy grails app with cloudfoundry plugin

"grails cf-push" results in errors listed below. Is there a way using the cloudfoundry plugin to "start fresh". I would prefer not to lose my test data in a MySQL database and a MongoDB database.
May 18, 2012 6:31:26 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
May 18, 2012 6:31:26 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [] startup failed due to previous errors
May 18, 2012 6:31:26 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [org.codehaus.groovy.reflection.ClassInfo.ThreadLocalMapHandler] (value [org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler#6434d75f]) and a value of type [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference#4927d15e]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
2012-05-18 18:31:26,379 [main] ERROR context.ContextLoader - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.NoClassDefFoundError: org/apache/http/conn/ClientConnectionManager
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1455)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:567)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:384)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:283)
at org.codehaus.groovy.grails.web.context.GrailsContextLoader.initWebApplicationContext(GrailsContextLoader.java:66)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:111)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4206)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4705)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:601)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:840)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.NoClassDefFoundError: org/apache/http/conn/ClientConnectionManager
at java.lang.Class.forName(Class.java:169)
at java.lang.Class.forName(Class.java:247)
Caused by: java.lang.ClassNotFoundException: org.apache.http.conn.ClientConnectionManager
... 2 more
Stopping Tomcat because the context stopped.
stderr.log is :
May 18, 2012 6:41:00 PM org.apache.coyote.http11.Http11Protocol init
INFO: Initializing Coyote HTTP/1.1 on http-31903
May 18, 2012 6:41:00 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 403 ms
May 18, 2012 6:41:00 PM org.apache.catalina.realm.JAASRealm setContainer
INFO: Set JAAS app name Catalina
May 18, 2012 6:41:00 PM org.apache.catalina.core.StandardService start
INFO: Starting service Catalina
May 18, 2012 6:41:00 PM org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/6.0.35
May 18, 2012 6:41:00 PM org.apache.catalina.startup.HostConfig deployDirectory
INFO: Deploying web application directory ROOT
May 18, 2012 6:41:02 PM org.apache.catalina.core.StandardContext start
SEVERE: Error listenerStart
May 18, 2012 6:41:02 PM org.apache.catalina.core.StandardContext start
SEVERE: Context [] startup failed due to previous errors
May 18, 2012 6:41:02 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [] created a ThreadLocal with key of type [org.codehaus.groovy.reflection.ClassInfo.ThreadLocalMapHandler] (value org.codehaus.groovy.reflection.ClassInfo$ThreadLocalMapHandler#6d1576d7]) and a value of type [java.lang.ref.SoftReference] (value [java.lang.ref.SoftReference#1c2d5534]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
If you do cf-update or delete the app and re-run cf-push, it will ask you if you want to use the existing MySQL and Mongo services. If you do there isn't any data loss - just don't delete the services along with the app before re-running cf-push.
Make sure you're using 'grails prod cf-push' since that will use the production configuration - there is a warning displayed if you run 'grails cf-push' to that effect.
The root cause is a CNFE from the HttpClient library. See if you can get it working locally and it should work fine on Cloud Foundry since you're just pushing a war file.
I found the problem. I added a service that used an external jar from a third party package. The third party package shipped with 2 jars: one with dependencies and one without dependencies. I extracted the 3rd party zip into my classpath, but only included the one without dependencies in my lib directory. When I switched to using the jar with dependencies, the app deployed.The following things made this simple problem difficult to resolve:the error logs simply stated that there was a problem with 'grailsApplication' and there was a class not foundthe app ran on my workstation using run-app,the app doesn't run on my workstation using run-war (regardless of whether the correct jars are supplied),lack of sleep!
On to the next issue!

Resources