[ http://jira.codehaus.org/browse/MSUREFIRE-80?page=all ] Brett Porter closed MSUREFIRE-80: ---------------------------------
Assign To: Brett Porter Resolution: Fixed no longer npe's when misconfigured, but note correct syntax is name/value elements. > systemProperties and NPE > ------------------------ > > Key: MSUREFIRE-80 > URL: http://jira.codehaus.org/browse/MSUREFIRE-80 > Project: Maven 2.x Surefire Plugin > Type: Bug > Reporter: Jason Dillon > Assignee: Brett Porter > Priority: Blocker > Fix For: 2.2 > > > I've got in my pom: > {code} > <properties> > <jdbc.schema></jdbc.schema> > </properties> > {code} > And then configured the surefire plugin to set a system property: > {code} > <plugin> > <groupId>org.apache.maven.plugins</groupId> > <artifactId>maven-surefire-plugin</artifactId> > <configuration> > <systemProperties> > > <dbunit.connection.schema>${jdbc.schema}</dbunit.connection.schema> > </systemProperties> > </configuration> > </plugin> > {code} > Which ends up resulting in: > {noformat} > [DEBUG] (f) systemProperties = {dbunit.connection.schema=null} > ... > [DEBUG] Trace > java.lang.NullPointerException > at java.util.Hashtable.put(Hashtable.java:393) > at java.util.Properties.setProperty(Properties.java:102) > at java.lang.System.setProperty(System.java:656) > at > org.apache.maven.test.SurefirePlugin.processSystemProperties(SurefirePlugin.java:408) > at > org.apache.maven.test.SurefirePlugin.execute(SurefirePlugin.java:335) > at > org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:415) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:531) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeStandaloneGoal(DefaultLifecycleExecutor.java:485) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:455) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:303) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:270) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:139) > at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:322) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:115) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:249) > 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:324) > 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) > {noformat} > If I put any value into the property, like > {code} > <properties> > <jdbc.schema>foo</jdbc.schema> > </properties> > {code} > Then it works as expected, no NPE and the property gets set. > But I need to set the property to an empty string... why on earth does this > get turned into a null? -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira