You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by ru...@thomson.com on 2006/09/07 16:26:42 UTC
Maven compile error mystery
Hey guys,
For some reason I'm getting a compile error from Maven for this code
that compiles fine in eclipse, with javac, and with ant. Maven is the
only thing that reports this error.
Anyone have any ideas?
Here is the error:
[INFO]
------------------------------------------------------------------------
[ERROR] BUILD FAILURE
[INFO]
------------------------------------------------------------------------
[INFO] Compilation failure
C:\eclipse_workspace\Medical Litigator -
Common\src\main\java\com\thomson\west\medlit\util\CollectionUtils.java:[
70,34] incompatible types
found : java.lang.Object[][]
required: T[][]
C:\eclipse_workspace\Medical Litigator -
Common\src\main\java\com\thomson\west\medlit\util\CollectionUtils.java:[
145,34] incompatible types
found : java.lang.Object[][]
required: T[][]
[INFO]
------------------------------------------------------------------------
[DEBUG] Trace
org.apache.maven.BuildFailureException: Compilation failure
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
LifecycleExecutor.java:555)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
ycle(DefaultLifecycleExecutor.java:475)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
ifecycleExecutor.java:454)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
Failures(DefaultLifecycleExecutor.java:306)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
DefaultLifecycleExecutor.java:273)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
ycleExecutor.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(NativeMethodAccessorImpl.jav
a:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
Impl.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)
Caused by: org.apache.maven.plugin.CompilationFailureException:
Compilation failure
at
org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMoj
o.java:505)
at
org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:111)
at
org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
nager.java:412)
at
org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
LifecycleExecutor.java:534)
... 16 more
Here is a snippet of the code that is causing it:
public static <T> T[][] splitTypedArray( T[] originalArray, int
arraySize ) {
return cast2DArray( originalArray.getClass(),
splitArray(originalArray, arraySize) );
}
public static <T> T[][] cast2DArray(Class<? extends T[]> clazz,
Object[][] array )
throws ClassCastException {
//this is safe( since we are giving T.class to
Array.newInstance.
//the problem is that Array.newInstance() is not genericized
as it should be.
T[][] newArray = (T[][])Array.newInstance( clazz,
array.length );
for(int i=0; i<array.length; i++ )
//cast each sub-array and add it to our new array.
newArray[i] = clazz.cast( array[i] );
return newArray;
}
}
RE: Maven compile error mystery
Posted by ru...@thomson.com.
Yeah. I think this is actually an issue where Eclipse can magically handle this but not javac. Upon further investigation javac fails with the same error. Sorry for wasting anyone's time.
--Rudy
-----Original Message-----
From: Rémy Sanlaville [mailto:remy.sanlaville@gmail.com]
Sent: Thursday, September 07, 2006 10:31 AM
To: Maven Users List
Subject: Re: Maven compile error mystery
It seems that you used java 1.5.
Do you specify it in your pom ?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
2006/9/7, rudy.bistrovich@thomson.com <ru...@thomson.com>:
>
> Hey guys,
>
>
>
> For some reason I'm getting a compile error from Maven for this code
> that compiles fine in eclipse, with javac, and with ant. Maven is the
> only thing that reports this error.
>
> Anyone have any ideas?
>
>
>
> Here is the error:
>
> [INFO]
> ------------------------------------------------------------------------
>
> [ERROR] BUILD FAILURE
>
> [INFO]
> ------------------------------------------------------------------------
>
> [INFO] Compilation failure
>
>
>
> C:\eclipse_workspace\Medical Litigator -
> Common\src\main\java\com\thomson\west\medlit\util\CollectionUtils.java:[
> 70,34] incompatible types
>
> found : java.lang.Object[][]
>
> required: T[][]
>
>
>
> C:\eclipse_workspace\Medical Litigator -
> Common\src\main\java\com\thomson\west\medlit\util\CollectionUtils.java:[
> 145,34] incompatible types
>
> found : java.lang.Object[][]
>
> required: T[][]
>
>
>
>
>
> [INFO]
> ------------------------------------------------------------------------
>
> [DEBUG] Trace
>
> org.apache.maven.BuildFailureException: Compilation failure
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
> LifecycleExecutor.java:555)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
> ycle(DefaultLifecycleExecutor.java:475)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
> ifecycleExecutor.java:454)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
> Failures(DefaultLifecycleExecutor.java:306)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
> DefaultLifecycleExecutor.java:273)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
> ycleExecutor.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(NativeMethodAccessorImpl.jav
> a:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.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)
>
> Caused by: org.apache.maven.plugin.CompilationFailureException:
> Compilation failure
>
> at
> org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMoj
> o.java:505)
>
> at
> org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:111)
>
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
> nager.java:412)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
> LifecycleExecutor.java:534)
>
> ... 16 more
>
>
>
> Here is a snippet of the code that is causing it:
>
>
>
> public static <T> T[][] splitTypedArray( T[] originalArray, int
> arraySize ) {
>
> return cast2DArray( originalArray.getClass(),
> splitArray(originalArray, arraySize) );
>
> }
>
>
>
> public static <T> T[][] cast2DArray(Class<? extends T[]> clazz,
> Object[][] array )
>
> throws ClassCastException {
>
> //this is safe( since we are giving T.class to
> Array.newInstance.
>
> //the problem is that Array.newInstance() is not genericized
> as it should be.
>
> T[][] newArray = (T[][])Array.newInstance( clazz,
> array.length );
>
> for(int i=0; i<array.length; i++ )
>
> //cast each sub-array and add it to our new array.
>
> newArray[i] = clazz.cast( array[i] );
>
>
>
> return newArray;
>
> }
>
> }
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org
Re: Maven compile error mystery
Posted by Rémy Sanlaville <re...@gmail.com>.
It seems that you used java 1.5.
Do you specify it in your pom ?
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
2006/9/7, rudy.bistrovich@thomson.com <ru...@thomson.com>:
>
> Hey guys,
>
>
>
> For some reason I'm getting a compile error from Maven for this code
> that compiles fine in eclipse, with javac, and with ant. Maven is the
> only thing that reports this error.
>
> Anyone have any ideas?
>
>
>
> Here is the error:
>
> [INFO]
> ------------------------------------------------------------------------
>
> [ERROR] BUILD FAILURE
>
> [INFO]
> ------------------------------------------------------------------------
>
> [INFO] Compilation failure
>
>
>
> C:\eclipse_workspace\Medical Litigator -
> Common\src\main\java\com\thomson\west\medlit\util\CollectionUtils.java:[
> 70,34] incompatible types
>
> found : java.lang.Object[][]
>
> required: T[][]
>
>
>
> C:\eclipse_workspace\Medical Litigator -
> Common\src\main\java\com\thomson\west\medlit\util\CollectionUtils.java:[
> 145,34] incompatible types
>
> found : java.lang.Object[][]
>
> required: T[][]
>
>
>
>
>
> [INFO]
> ------------------------------------------------------------------------
>
> [DEBUG] Trace
>
> org.apache.maven.BuildFailureException: Compilation failure
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
> LifecycleExecutor.java:555)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifec
> ycle(DefaultLifecycleExecutor.java:475)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultL
> ifecycleExecutor.java:454)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandle
> Failures(DefaultLifecycleExecutor.java:306)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(
> DefaultLifecycleExecutor.java:273)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifec
> ycleExecutor.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(NativeMethodAccessorImpl.jav
> a:39)
>
> at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor
> Impl.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)
>
> Caused by: org.apache.maven.plugin.CompilationFailureException:
> Compilation failure
>
> at
> org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMoj
> o.java:505)
>
> at
> org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:111)
>
> at
> org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginMa
> nager.java:412)
>
> at
> org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(Default
> LifecycleExecutor.java:534)
>
> ... 16 more
>
>
>
> Here is a snippet of the code that is causing it:
>
>
>
> public static <T> T[][] splitTypedArray( T[] originalArray, int
> arraySize ) {
>
> return cast2DArray( originalArray.getClass(),
> splitArray(originalArray, arraySize) );
>
> }
>
>
>
> public static <T> T[][] cast2DArray(Class<? extends T[]> clazz,
> Object[][] array )
>
> throws ClassCastException {
>
> //this is safe( since we are giving T.class to
> Array.newInstance.
>
> //the problem is that Array.newInstance() is not genericized
> as it should be.
>
> T[][] newArray = (T[][])Array.newInstance( clazz,
> array.length );
>
> for(int i=0; i<array.length; i++ )
>
> //cast each sub-array and add it to our new array.
>
> newArray[i] = clazz.cast( array[i] );
>
>
>
> return newArray;
>
> }
>
> }
>
>
>