Markus Umefjord skrev:
Hi,
I'm running the ejbdeploy goal as part of my build life cycle, but it
complains about generics despite an explicit usage of
<jdkComplianceLevel>5.0</jdkComplianceLevel>
Snippet from my pom:
<build>
...
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>was6-maven-plugin</artifactId>
<executions>
<execution>
<phase>process-classes</phase>
<goals>
<goal>clean</goal>
<goal>ejbdeploy</goal>
</goals>
</execution>
</executions>
<configuration>
<wasHome>${WAS_HOME}</wasHome>
<jdkComplianceLevel>5.0</jdkComplianceLevel>
<legacyMode>true</legacyMode>
</configuration>
</plugin>
...
</build>
Output from the ejbdeploy goal:
...
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/test/CourseCatalogueDAOTest.java(282): Syntax error, 'for each'
statements are only available if source level is 5.0
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/test/CourseCatalogueDAOTest.java(283): The type ArrayList is not
generic; it cannot be parameterized with arguments <CourseSubjectVO>
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/test/CourseCatalogueDAOTest.java(283): Syntax error,
parameterized types are only available if source level is 5.0
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/test/CourseCatalogueDAOTest.java(284): The type ArrayList is not
generic; it cannot be parameterized with arguments <CourseSubjectVO>
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/test/CourseCatalogueDAOTest.java(284): Syntax error,
parameterized types are only available if source level is 5.0
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/CourseCatalogueDAO.java(636): Syntax error, parameterized types
are only available if source level is 5.0
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/CourseCatalogueDAO.java(595): The type HashSet is not generic;
it cannot be parameterized with arguments <String>
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/CourseCatalogueDAO.java(595): Syntax error, parameterized types
are only available if source level is 5.0
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/CourseCatalogueDAO.java(595): The type HashSet is not generic;
it cannot be parameterized with arguments <String>
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/CourseCatalogueDAO.java(595): Syntax error, parameterized types
are only available if source level is 5.0
[INFO] [wsejbdeploy]
[*Error] ejbModule/com/acme/project/application/server/a
f110/entity/CourseCatalogueDAO.java(636): The type Iterator is not generic;
it cannot be parameterized with arguments <String>
...
[INFO] [wsejbdeploy]
Shutting down workbench.
[INFO] [wsejbdeploy] Execution Halted: Compilation Errors Reported
[INFO] [wsejbdeploy] 11 Errors, 112 Warnings, 2 Informational Messages
[ERROR]
[ERROR] BUILD FAILED
[ERROR]
C:\temp\nya\maven\target\ApplicationEJB\was6-maven-plugin\was6plugin-build.x
ml:6: Java returned: 1
[ERROR]
[ERROR] Total time: 19 seconds
[INFO] Return code: 0
[INFO] ejbDeploy finished
...
Any ideas???
Sure
This parameter (complianceLevel) was introduced by IBM in FP7 - see the
faq #1: http://mojo.codehaus.org/was6-maven-plugin/faq.html
and also
http://mojo.codehaus.org/was6-maven-plugin/ejbdeploy-mojo.html#jdkComplianceLevel
So either remove the legacyMode flag - or if running on a WAS version
which handles it - set the compliance level.
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email