You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Michael Giroux (JIRA)" <ji...@codehaus.org> on 2013/07/31 00:35:54 UTC

[jira] (MCOMPILER-210) type parameter D is not within its bound when compile unit pathname is long

Michael Giroux created MCOMPILER-210:
----------------------------------------

             Summary: type parameter D is not within its bound when compile unit pathname is long
                 Key: MCOMPILER-210
                 URL: https://jira.codehaus.org/browse/MCOMPILER-210
             Project: Maven 2.x Compiler Plugin
          Issue Type: Bug
    Affects Versions: 3.0
         Environment: Windows and Solaris running in Hudson, or from commandline maven with all versions of Maven 3.0.
            Reporter: Michael Giroux


Java project makes extensive use of Generics.  The project compiles with no errors when built with ANT.  When building with Maven, we started getting compile errors:
"type parameter D is not within its bound"

Initially we were able to resolve the problem by compiling the project in two passes.  the first execution compiled the modules in one of the packages, the second execution compiled the rest of the modules.

				<executions>
					<execution>
						<id>default-compile</id>
						<goals>
							<goal>compile</goal>
						</goals>
						<configuration>
							<includes>
                        <include>**/entity/base/DAO.java</include>
                        <include>**/entity/base/ComponentFactory.java</include>
							</includes>
						</configuration>
					</execution>
					<execution>
						<id>second</id>
						<goals>
							<goal>compile</goal>
						</goals>
						<configuration>
							<includes>
								<include>**/*.java</include>
							</includes>
						</configuration>
					</execution>
				</executions>


Ultimately, this little trick failed when the project was checked out by another user.  After several hours of running maven with debug output, the only real difference we could see between successful and failed builds was the length of the source file paths.  

We renamed the base directory from bldmgr2013-7 to ws2013-7 and ran the build successfully.

Just a guess here, but it looks like maven constructs a java compile command with the entire list of fully expanded source file names.  Changing the directory name removed almost 4k from the length of the javac command, so I'm guessing that javac has an issue.  However, this job never fails when build w/ ANT, so I'm also guessing that ANT constructs the command line differently, perhaps with relative path names?





--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira