.springBeans definition throws NullPointer if BaseDir does not exist --------------------------------------------------------------------
Key: MECLIPSE-427 URL: http://jira.codehaus.org/browse/MECLIPSE-427 Project: Maven 2.x Eclipse Plugin Issue Type: Bug Components: MyEclipse support Affects Versions: 2.5.1, 2.5 Reporter: Joe Freeman This is related to the fix submitted for MECLIPSE-359 We have an application with 40 eclipse projects in it. About half of them have spring beans and 1/2 don't. The top level pom describes how the eclipse plugin should function and includes the Spring configuration component for the myeclipse target. A null pointer is thrown when running eclipse:myeclipse when the base dir doesn't exist, in our case in one of the projects that doesn't have any spring components. Our pom.xml fragment looks like <spring> <version>2.0</version> <file-pattern>*.xml</file-pattern> <basedir>src/main/resources/conf</basedir> </spring> The exception stack trace looks like java.lang.NullPointerException at org.apache.maven.plugin.eclipse.writers.myeclipse.MyEclipseSpringBeansWriter.getConfigurationFilesList(MyEclipseSpringBeansWriter.java:142) at org.apache.maven.plugin.eclipse.writers.myeclipse.MyEclipseSpringBeansWriter.write(MyEclipseSpringBeansWriter.java:93) The following code block with the problem throws NullPointer when directory.listFiles() returns a null into subdirs. Wrap the for() loop in a nullcheck try { File directory = new File( basedir ); File[] subdirs = directory.listFiles( new FileFilter() { public boolean accept( File pathname ) { return pathname.isDirectory(); } } ); for ( int i = 0; i < subdirs.length; i++ ) { configFiles.addAll( getConfigurationFilesList( subdirs[i].getPath(), pattern ) ); } configFiles.addAll( FileUtils.getFileNames( directory, pattern, null, true ) ); } Testing: Take one of the test cases and remove the directory that is pointed to by the basedir attribute. -- 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