Look-up Tables: Build core project
7 February 2009Now that we have completed all of the unit tests for the core project, we can attempt to rebuild the project with all of the changes in place. Before we do that, though, I decided to make one last change to the pom.xml file for the project to up the version from 1.3 to 1.4:
<?xml version="1.0" encoding="UTF-8"?>
<project
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<modelVersion>4.0.0</modelVersion>
<groupId>org.restafarian</groupId>
<artifactId>core</artifactId>
<name>core</name>
<version>1.4</version>
<description>
The restafarian.org core components include the basic building
blocks used by all of the other restafarian.org projects.
</description>
...
Since we altered the look-up table database schema, this is a relatively substantial change, so I wanted to consider it a new version. Once that was done and saved, I right-clicked on the project in my Rational workspace and selected Run As -> Maven install to launch the build. Soon I was rewarded with the familiar:
[INFO] ---------------------------------------------------- [INFO] BUILD SUCCESSFUL [INFO] ---------------------------------------------------- [INFO] Total time: 1 minute 43 seconds [INFO] Finished at: Sat Feb 07 09:28:37 PST 2009 [INFO] Final Memory: 16M/52M [INFO] ----------------------------------------------------
Once that was done, I wanted to rebuild the project web site as well, so I right-clicked on the project again and selected Run As -> Maven build .. and then entered site as the goal and clicked on Run. This time, I was rewarded with a nasty stack trace:
Exception in thread "main" java.lang.NullPointerException at org.apache.maven.plugin.DefaultPluginManager.setDescriptorClassAndArtifactInfo(DefaultPluginManager.java:933) at org.apache.maven.plugin.DefaultPluginManager.verifyVersionedPlugin(DefaultPluginManager.java:247) at org.apache.maven.plugin.DefaultPluginManager.verifyPlugin(DefaultPluginManager.java:186) at org.apache.maven.plugin.loader.DefaultPluginLoader.loadPlugin(DefaultPluginLoader.java:79) at org.apache.maven.plugin.loader.DefaultPluginLoader.loadPlugin(DefaultPluginLoader.java:52) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.loadPluginDescriptor(DefaultBuildPlanner.java:322) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.findForkModifiers(DefaultBuildPlanner.java:192) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.addForkedLifecycleModifiers(DefaultBuildPlanner.java:179) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.recursePhaseMojoFork(DefaultBuildPlanner.java:464) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.findForkModifiers(DefaultBuildPlanner.java:388) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.addReportingLifecycleModifiers(DefaultBuildPlanner.java:291) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.constructBuildPlan_aroundBody0(DefaultBuildPlanner.java:118) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.constructBuildPlan_aroundBody1$advice(DefaultBuildPlanner.java:403) at org.apache.maven.lifecycle.plan.DefaultBuildPlanner.constructBuildPlan(DefaultBuildPlanner.java:1) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.getLifecycleBindings(DefaultLifecycleExecutor.java:400) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegmentForProject(DefaultLifecycleExecutor.java:235) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:191) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:149) at org.apache.maven.DefaultMaven.execute_aroundBody0(DefaultMaven.java:223) at org.apache.maven.DefaultMaven.execute_aroundBody1$advice(DefaultMaven.java:304) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:1) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody2(MavenEmbedder.java:904) at org.apache.maven.embedder.MavenEmbedder.execute_aroundBody3$advice(MavenEmbedder.java:304) at org.apache.maven.embedder.MavenEmbedder.execute(MavenEmbedder.java:1) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:176) at org.apache.maven.cli.MavenCli.main(MavenCli.java:63) at org.apache.maven.cli.MavenCli.main(MavenCli.java:52)
I’ve chased this one down before and if I remember right, it has something to do with the embedder and the recomendation I recall was to try running it outside of Eclipse/Rational. Just for grins, I tried it Run As -> Maven build… one more time, but this time used the Edit Configuration panel to both set the goal to site and change the Maven Runtime from Embedded to an external version of Maven. That got me a little further, but still no joy:
[INFO] ------------------------------------------------------------------------ [ERROR] FATAL ERROR [INFO] ------------------------------------------------------------------------ [INFO] Could not instatiate converter : com.thoughtworks.xstream.converters.enums.EnumSetConverter : null Could not access java.util.EnumSet.elementType field [INFO] ------------------------------------------------------------------------ [INFO] Trace com.thoughtworks.xstream.XStream$InitializationException: Could not instatiate converter : com.thoughtworks.xstream.converters.enums.EnumSetConverter : null at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream.java:651) at com.thoughtworks.xstream.XStream.setupConverters(XStream.java:620) at com.thoughtworks.xstream.XStream.<init>(XStream.java:371) at com.thoughtworks.xstream.XStream.<init>(XStream.java:316) at org.codehaus.mojo.dashboard.report.plugin.DashBoardUtils.saveXMLDashBoardReport(DashBoardUtils.java:995) at org.codehaus.mojo.dashboard.report.plugin.DashBoardReportMojo.executeReport(DashBoardReportMojo.java:282) at org.apache.maven.reporting.AbstractMavenReport.generate(AbstractMavenReport.java:98) at org.apache.maven.plugins.site.ReportDocumentRenderer.renderDocument(ReportDocumentRenderer.java:139) at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.renderModule(DefaultSiteRenderer.java:269) at org.apache.maven.doxia.siterenderer.DefaultSiteRenderer.render(DefaultSiteRenderer.java:101) at org.apache.maven.plugins.site.SiteMojo.renderLocale(SiteMojo.java:129) at org.apache.maven.plugins.site.SiteMojo.execute(SiteMojo.java:96) at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:451) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:558) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:499) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:478) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:330) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:291) at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:142) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:336) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:129) at org.apache.maven.cli.MavenCli.main(MavenCli.java:287) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:45) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37) at java.lang.reflect.Method.invoke(Method.java:599) at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315) at org.codehaus.classworlds.Launcher.launch(Launcher.java:255) at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430) at org.codehaus.classworlds.Launcher.main(Launcher.java:375) Caused by: java.lang.reflect.InvocationTargetException at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:45) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:39) at java.lang.reflect.Constructor.newInstance(Constructor.java:515) at com.thoughtworks.xstream.XStream.dynamicallyRegisterConverter(XStream.java:644) ... 29 more Caused by: java.lang.RuntimeException: Could not access java.util.EnumSet.elementType field at com.thoughtworks.xstream.core.util.Fields.find(Fields.java:18) at com.thoughtworks.xstream.converters.enums.EnumSetConverter.<init>(EnumSetConverter.java:31) ... 34 more [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3 minutes 53 seconds [INFO] Finished at: Sat Feb 07 09:42:59 PST 2009 [INFO] Final Memory: 53M/146M [INFO] ------------------------------------------------------------------------
At that point, I decided that I really didn’t need to regenerate the project web site today. Maybe I’ll tackle that a little later when I’m feeling lucky!
Leave a reply
You must be logged in to post a comment.





