I started seeing this problem no so long ago in systests-databinding and systests-codegen. Before that, we didn't have this problem. I saw the windows paths are not correctly compared and recognized as one being the parent of the other. And this is resulting in a syntactically invalid path.
I have been wondering if we always had this problem but we didn't see it or some recent change caused this problem. Using a relative path or converting the path in a way so that the path comparison works will solve this problem. But I haven't looked into it in details. regards, aki 2013/8/1 vladimiro <[email protected]>: > Hi, > when building the CXF trunk (CXF 3.0.0-SNAPHSOT) with the following > environment: > > Apache Maven 3.1.0 (893ca28a1da9d5f51ac03827af98bb730128f9f2; 2013-06-28 > 04:15:32+0200) > Maven home: C:\apache-maven-3.1.0\bin\.. > Java version: 1.7.0_25, vendor: Oracle Corporation > Java home: C:\Program Files\Java\jdk1.7.0_25\jre > Default locale: en_US, platform encoding: Cp1252 > OS name: "windows 7", version: "6.1", arch: "x86", family: "windows" > > > > I have the following error: > > [ERROR] Failed to execute goal > org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse > (setup.eclipse.project) on project cxf-systests-databinding: Cant > canonicalize system path: {0}: The filename, directory name, or volume > label syntax is incorrect -> [Help 1] > org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute > goal org.apache.maven.plugins:maven-eclipse-plugin:2.9:eclipse > (setup.eclipse.project) on project cxf-systests-databinding: Cant > canonicalize system path: {0} > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:216) > 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:318) > at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:153) > at org.apache.maven.cli.MavenCli.execute(MavenCli.java:555) > at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214) > at org.apache.maven.cli.MavenCli.main(MavenCli.java:158) > 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:606) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) > at > org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) > at > org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) > at > org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) > Caused by: org.apache.maven.plugin.MojoExecutionException: Cant > canonicalize system path: {0} > at > org.apache.maven.plugin.ide.IdeUtils.getCanonicalPath(IdeUtils.java:147) > at > org.apache.maven.plugin.ide.IdeUtils.toRelativeAndFixSeparator(IdeUtils.java:591) > at > org.apache.maven.plugin.eclipse.EclipsePlugin.extractResourceDirs(EclipsePlugin.java:1787) > at > org.apache.maven.plugin.eclipse.EclipsePlugin.buildDirectoryList(EclipsePlugin.java:1684) > at > org.apache.maven.plugin.eclipse.EclipsePlugin.createEclipseWriterConfig(EclipsePlugin.java:1359) > at > org.apache.maven.plugin.eclipse.EclipsePlugin.writeConfiguration(EclipsePlugin.java:1178) > at > org.apache.maven.plugin.ide.AbstractIdeSupportMojo.execute(AbstractIdeSupportMojo.java:511) > at > org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:106) > at > org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208) > ... 19 more > Caused by: java.io.IOException: The filename, directory name, or volume > label syntax is incorrect > at java.io.WinNTFileSystem.canonicalize0(Native Method) > at java.io.Win32FileSystem.canonicalize(Win32FileSystem.java:414) > at java.io.File.getCanonicalPath(File.java:589) > at > org.apache.maven.plugin.ide.IdeUtils.getCanonicalPath(IdeUtils.java:143) > ... 27 more > > > > After investigation it looks like cxf-codegen-plugin is setting absolute > paths for maven resource's targetPaths and that makes the eclipse plugin > crash. See also http://jira.codehaus.org/browse/MECLIPSE-269 for reference. > > I see at lines 359 and 375 of > org.apache.cxf.maven_plugin.AbstractCodegenMoho: > > ... > r2.setTargetPath(project.getBuild().getOutputDirectory()); > ... > r2.setTargetPath(project.getBuild().getTestOutputDirectory()); > ... > > If I make the targetPaths relative I'm able to complete my build > successfully. > > What do you think about it? Is that a bug? Is something wrong in my > configuration? > > Best regards > > Vladimiro Corsi
