Looking at the source code for classes org.codehaus.mojo.natives.compiler.AbstractCompiler
and org.codehaus.plexus.util.FileUtils it seems singularly odd that String.substring() would suddenly be receiving an index with a value of -17 passed by the FileUtils.basename() methods. I haven't been able to affect the outcome by altering the order or names of the files involved. Method AbstractCompiler.getObjectFile() is attempting to construct the string name of the object file associated with the current source file. Looking in the target/ directory, I see that the object file for source file 'reindex.cpp' has been created and exists with the expected name: 'reindex.obj'. Brad > -----Original Message----- > From: Brad Harper > Sent: Wednesday, September 20, 2006 9:38 AM > To: users > Subject: Error: java.lang.StringIndexOutOfBoundsException > > > Hello: > > See the FATAL ERROR from captured maven output below. > > In context, the native maven plugin is being used to compile a C++ > source file, prior to linking an .exe application. > > Has anyone seen this sort of thing before? Thanks. > > Brad > > .... > recmods.cpp > [INFO] cl /MT /W3 /GX /DWINDOWS-X86 /DWIN32 /D_WINDOWS /Zi > /Od /DDEBUG /DHAVE_DONGLE > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\common > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\gui > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\crypt > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\record > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\bin\dxrecord > /Fop:\exodus\dxr\WINDOWS-X86\dxrecord\target\recorder.obj -c > p:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.ep > siia.dxr\bin\dxrecord\recorder.cpp > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version > 12.00.8804 for 80x86 > Copyright (C) Microsoft Corp 1984-1998. All rights reserved. > > recorder.cpp > p:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.ep > siia.dxr\bin\dxrecord\recorder.cpp(4050) : warning C4101: > 'ucplogrek' : unreferenced local variable > [INFO] cl /MT /W3 /GX /DWINDOWS-X86 /DWIN32 /D_WINDOWS /Zi > /Od /DDEBUG /DHAVE_DONGLE > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\common > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\gui > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\crypt > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\include\record > -Ip:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com. > epsiia.dxr\bin\dxrecord > /Fop:\exodus\dxr\WINDOWS-X86\dxrecord\target\reindex.obj -c > p:\exodus\dxr\WINDOWS-X86\dxrecord\..\..\src\main\c-cpp\com.ep > siia.dxr\bin\dxrecord\reindex.cpp > Microsoft (R) 32-bit C/C++ Optimizing Compiler Version > 12.00.8804 for 80x86 > Copyright (C) Microsoft Corp 1984-1998. All rights reserved. > > reindex.cpp > [INFO] > -------------------------------------------------------------- > ---------- > [ERROR] FATAL ERROR > [INFO] > -------------------------------------------------------------- > ---------- > [INFO] String index out of range: -17 > [INFO] > -------------------------------------------------------------- > ---------- > [DEBUG] Trace > java.lang.StringIndexOutOfBoundsException: String index out > of range: -17 > at java.lang.String.substring(String.java:1768) > at > org.codehaus.plexus.util.FileUtils.basename(FileUtils.java:215) > at > org.codehaus.plexus.util.FileUtils.basename(FileUtils.java:200) > at > org.codehaus.mojo.natives.compiler.AbstractCompiler.getObjectF > ile(AbstractCompiler.java:120) > at > org.codehaus.mojo.natives.compiler.AbstractCompiler.compile(Ab > stractCompiler.java:66) > at > org.codehaus.mojo.natives.plugin.NativeCompileMojo.execute(Nat > iveCompileMojo.java:162) > at > org.apache.maven.plugin.DefaultPluginManager.executeMojo(Defau > ltPluginManager.java:412) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa > ls(DefaultLifecycleExecutor.java:534) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa > lWithLifecycle(DefaultLifecycleExecutor.java:475) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa > l(DefaultLifecycleExecutor.java:454) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoa > lAndHandleFailures(DefaultLifecycleExecutor.java:306) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTas > kSegments(DefaultLifecycleExecutor.java:273) > at > org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(De faultLifecycleExecutor.java:140) > 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:256) > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccess > orImpl.java:39) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMeth > odAccessorImpl.java:25) > at java.lang.reflect.Method.invoke(Method.java:585) > 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) > [INFO] > -------------------------------------------------------------- > ---------- > [INFO] Total time: 4 minutes 56 seconds > [INFO] Finished at: Wed Sep 20 09:35:18 CDT 2006 > [INFO] Final Memory: 8M/16M > [INFO] > -------------------------------------------------------------- > ---------- > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
