Comparison:
sun.io.MalformedInputException
in maven-resources-plugin
[INFO] --- maven-resources-plugin:2.4.3:resources (default-resources) @ service-extractor --- [INFO] Using 'UTF-8' encoding to copy filtered resources. [INFO] Copying 4 resources mojoFailed org.apache.maven.plugins:maven-resources-plugin:2.4.3(default-resources) projectFailed org.mycompany.project:service-extractor:1.0.0-SNAPSHOT [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6.278s [INFO] Finished at: Mon Nov 14 11:22:00 CET 2011 [INFO] Final Memory: 11M/27M [INFO] ------------------------------------------------------------------------ mavenExecutionResult exceptions not empty org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.4.3:resources (default-resources) on project service-extractor: null 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:319) 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:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) 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:145) at hudson.maven.Maven3Builder.call(Maven3Builder.java:124) at hudson.maven.Maven3Builder.call(Maven3Builder.java:71) at hudson.remoting.UserRequest.perform(UserRequest.java:114) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:270) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:432) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:678) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:703) at java.lang.Thread.run(Thread.java:811) Caused by: org.apache.maven.plugin.MojoExecutionException at org.apache.maven.plugin.resources.ResourcesMojo.execute(ResourcesMojo.java:269) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 27 more Caused by: org.apache.maven.shared.filtering.MavenFilteringException at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:130) at org.apache.maven.shared.filtering.DefaultMavenResourcesFiltering.filterResources(DefaultMavenResourcesFiltering.java:267) at org.apache.maven.plugin.resources.ResourcesMojo.execute(ResourcesMojo.java:265) ... 29 more Caused by: sun.io.MalformedInputException at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:294) at sun.nio.cs.StreamDecoder$ConverterSD.convertInto(StreamDecoder.java:316) at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java:366) at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:252) at java.io.InputStreamReader.read(InputStreamReader.java:212) at java.io.BufferedReader.fill(BufferedReader.java:157) at java.io.BufferedReader.read(BufferedReader.java:178) at org.codehaus.plexus.interpolation.multi.MultiDelimiterInterpolatorFilterReader.read(MultiDelimiterInterpolatorFilterReader.java:274) at org.codehaus.plexus.interpolation.multi.MultiDelimiterInterpolatorFilterReader.read(MultiDelimiterInterpolatorFilterReader.java:231) at java.io.Reader.read(Reader.java:143) at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:212) at org.codehaus.plexus.util.IOUtil.copy(IOUtil.java:200) at org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:2222) at org.codehaus.plexus.util.FileUtils.copyFile(FileUtils.java:2170) at org.apache.maven.shared.filtering.DefaultMavenFileFilter.copyFile(DefaultMavenFileFilter.java:115) ... 31 more channel stopped
Few posts (1, 2, 3, MNG-2187) gave a hint that this is IBM JDK 1.5 specific issue.
<build> <resources> <resource> <!-- Enable filtering for text resources: --> <directory>src/main/resources</directory> <filtering>true</filtering> <includes> <include>**/*.properties</include> </includes> </resource> <resource> <!-- Disable for other resources: --> <directory>src/main/resources</directory> <filtering>false</filtering> <excludes> <exclude>**/*.properties</exclude> </excludes> </resource> </resources> </build>
java.io.FileNotFoundException: /boot.log (Permission denied)
for maven-checkstyle-plugin
[INFO] --- maven-checkstyle-plugin:2.2:checkstyle (validate) @ service-public --- [INFO] Velocity successfully started. [INFO] There are 26 checkstyle errors. log4j:ERROR setFile(null,false) call failed. java.io.FileNotFoundException: /boot.log (Permission denied) at java.io.FileOutputStream.<init>(FileOutputStream.java:205) at java.io.FileOutputStream.<init>(FileOutputStream.java:128) at org.apache.log4j.FileAppender.setFile(FileAppender.java:289) at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:163) at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:256) at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:132) at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:96) at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:654) at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:612) at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:509) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:415) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:441) at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:470) at org.apache.log4j.LogManager.<clinit>(LogManager.java:122) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:196) at org.apache.log4j.Logger.getLogger(Logger.java:104) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.apache.commons.logging.impl.Log4jProxy.<init>(Log4jProxy.java:145) at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:288) at org.apache.commons.logging.impl.Log4JLogger.<init>(Log4JLogger.java:91) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:67) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:522) at org.apache.commons.logging.impl.LogFactoryImpl.createLogFromClass(LogFactoryImpl.java:1040) at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:838) at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601) at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333) at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:664) at org.apache.commons.digester.Digester.<init>(Digester.java:304) at hudson.plugins.checkstyle.parser.CheckStyleParser.parse(CheckStyleParser.java:49) at hudson.plugins.analysis.core.AbstractAnnotationParser.parse(AbstractAnnotationParser.java:52) at hudson.plugins.analysis.core.FilesParser.parseFile(FilesParser.java:197) at hudson.plugins.analysis.core.FilesParser.parseFiles(FilesParser.java:176) at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:126) at hudson.plugins.analysis.core.FilesParser.invoke(FilesParser.java:29) at hudson.FilePath.act(FilePath.java:757) at hudson.FilePath.act(FilePath.java:739) at hudson.plugins.checkstyle.CheckStyleReporter.perform(CheckStyleReporter.java:84) at hudson.plugins.analysis.core.HealthAwareMavenReporter.postExecute(HealthAwareMavenReporter.java:202) at hudson.maven.Maven3Builder$MavenExecutionListener.reccordMojoSucceeded(Maven3Builder.java:568) at hudson.maven.Maven3Builder$MavenExecutionListener.mojoSucceeded(Maven3Builder.java:531) at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:87) at org.apache.maven.lifecycle.internal.DefaultExecutionEventCatapult.fire(DefaultExecutionEventCatapult.java:42) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:228) 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:319) 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:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) 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:145) at hudson.maven.Maven3Builder.call(Maven3Builder.java:124) at hudson.maven.Maven3Builder.call(Maven3Builder.java:71) at hudson.remoting.UserRequest.perform(UserRequest.java:114) at hudson.remoting.UserRequest.perform(UserRequest.java:48) at hudson.remoting.Request$2.run(Request.java:270) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:432) at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:284) at java.util.concurrent.FutureTask.run(FutureTask.java:138) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:678) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:703) at java.lang.Thread.run(Thread.java:811)
This issue is addressed in HUDSON-2048.
It looks like the chain that comes in JBoss's bin/run.jar:/log4j.properties
which states:
This is happening because Hudson launches Maven in forked JVM so that JBoss configured log4j service (from server0/conf/jboss-log4j.xml
) is not visible. But log4j classes are available via JVM boot classpath (lib/log4j-boot.jar
) so Checkstyle → Digester → commons-logging → log4j tries to initialize again from log4j.properties
in bootstrap bin/run.jar
:
... log4j.appender.FILE.File=${jboss.server.log.dir}/boot.log ...
Unfortunately Hudson/Maven also filtered out all system variables so ${jboss.server.log.dir}
is empty…
/whatever/log4j.properties
to override log4j configuration:
log4j.rootLogger=INFO, C log4j.appender.C=org.apache.log4j.ConsoleAppender log4j.appender.C.layout=org.apache.log4j.PatternLayout log4j.appender.C.layout.ConversionPattern=%d{dd.MM HH:mm:ss} %-5p [%c] %m%n
and pass it as Build → Goals and options: -Dlog4j.configuration=/whatever/log4j.properties
java.lang.IllegalArgumentException: The instance name component of a fully qualified service cannot be empty
entries 2011-11-02 19:48:14,753 ERROR [STDERR] Nov 2, 2011 7:48:14 PM javax.jmdns.impl.tasks.RecordReaper run SEVERE: RecordReaper(luu128d.local.).Error while reaping records: [Pointer@558685333 type: TYPE_PTR index 12, class: CLAS S_IN index 1, name: _services._dns-sd._udp.local. ttl: '2246/4500' alias: '_sftp-ssh._tcp.local.'] java.lang.IllegalArgumentException: The instance name component of a fully qualified service cannot be empty. at javax.jmdns.impl.ServiceInfoImpl.checkQualifiedNameMap(ServiceInfoImpl.java:356) at javax.jmdns.impl.ServiceInfoImpl.<init>(ServiceInfoImpl.java:197) at javax.jmdns.impl.DNSRecord$Pointer.getServiceInfo(DNSRecord.java:540) at javax.jmdns.impl.DNSRecord.getServiceInfo(DNSRecord.java:1051) at javax.jmdns.impl.JmDNSImpl.renewServiceCollector(JmDNSImpl.java:1228) at javax.jmdns.impl.tasks.RecordReaper.run(RecordReaper.java:80) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) 2011-11-02 19:48:14,758 ERROR [STDERR] Nov 2, 2011 7:48:14 PM javax.jmdns.impl.tasks.RecordReaper run SEVERE: ---- Local Host ----- local host info[luu128d.local., eth1:10.14.1.85, DNS: luu128d.local. state: announced task: Renewer(luu128d.local.) state: announced] ---- Services ----- Service: hudson (2)._hudson._tcp.local.: [ServiceInfoImpl@2084880813 name: 'hudson (2)._hudson._tcp.local.' address: 'luu128d.internal.epo.org/10.14.1.85:80' status: 'DNS: luu128d.local. state: announced task: Renewer(luu128d.local.) state: announced', has data\020slave-port=356110url=http://luu128d.internal.epo.org:8111/hudson/\015version=1.398] ---- Types ---- Type: _ssh._tcp.local.: no subtypes Type: _workstation._tcp.local.: no subtypes Type: _hudson._tcp.local.: no subtypes Type: _sftp-ssh._tcp.local.: no subtypes Type: _jenkins._tcp.local.: no subtypes ---- cache ---- name 'luu128d.local.' [IPv4Address@101155992 type: TYPE_A index 1, class: CLASS_IN index 1-unique, name: luu128d.local. ttl: '2802/3600' address: '10.14.1.85'] name 'luu142d.local.' [IPv4Address@1469192767 type: TYPE_A index 1, class: CLASS_IN index 1, name: luu142d.local. ttl:'2800/3600' address: '10.14.1.120']
Hudson (v1.398) intensively logs the above messages to logfile, which by the end of the day is 100MB. The issue is addressed in HUDSON-8647 and JENKINS-8647.
-Dhudson.DNSMultiCast.disabled=true
(perhaps upgrading to latest Hudson 2.1.2 is better idea).
en
) to English Britain (en-GB
).
chkconfig jenkins off
/etc/default/jenkins
: RUN_STANDALONE=true
/etc/tomcat8/server.xml
: <Connector port="8080" URIEncoding="UTF8" ... >
/etc/default/tomcat8
: JAVA_OPTS="${JAVA_OPTS} -DJENKINS_HOME=/var/lib/jenkins"
ln -s /var/lib/jenkins/.m2 /var/lib/tomcat8
ln -s /var/lib/jenkins/.gitconfig /var/lib/tomcat8
ln -s /usr/share/jenkins/jenkins.war /var/lib/tomcat8/webapps
usermod -a -G jenkins tomcat8
chmod g+w -R /var/lib/jenkins
/etc/init.d/tomcat restart
) and monitor log /var/log/tomcat8/catalina.out
"Девица не хочет лезть в Окно" – device not compatible with Windows.