compiler limitation -- static { } block is too large -- need refactoring
------------------------------------------------------------------------
Key: SPRING-95
URL:
http://jira.andromda.org/browse/SPRING-95
Project: Spring Cartridge
Type: Improvement
Versions: 3.1RC1
Environment: Win2KSP4, JDK1.5 (JRE, HOTSPOT JVM, build 1.5.0_01-b08), Ant 1.6.2, Maven 1.0.2. Intel P4 2.1GH, 2GB RAM.
Reporter: Safaa Hashim
Assigned to: Chad Brandon
Priority: Critical
The following is abstracted from the forum.androMDA.org, Project Generator topic area:
The project generator gave me the following error, which seems to be a size issue with the code generator in Andromda. I have a model with over 1300 objects and about 14,000 associations.
======================
java:compile:
[echo] Compiling to C:\cvs_work\i\core/target/classes
[echo]
==========================================================
NOTE: Targetting JVM 1.5, classes
will not run on earlier JVMs
==========================================================
[javac] Compiling 3362 source files to C:\cvs_work\i\core\target\classes
C:\cvs_work\i\core\target\src\com\dialektos\com\CriteriaSearchProperties.java:17
: code too large
private static final java.util.Map embeddedValuesByType = new java.util.Hash
Map();
^
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
1 error
BUILD FAILED
File...... C:\Documents and Settings\Safaa Hashim\.maven\cache\maven-multiprojec
t-plugin-1.3.1\plugin.jelly
Element... maven:reactor
Line...... 217
Column.... 9
Unable to obtain goal [multiproject:install-callback] -- C:\Documents and Settin
gs\Safaa Hashim\.maven\cache\maven-java-plugin-1.5\plugin.jelly:63:48: <ant:java
c> Compile failed; see the compiler error output for details.
INFO [App] Total time: 3 minutes 47 seconds
INFO [App] Finished at: Thu Aug 04 22:35:15 PDT 2005
INFO [App]
C:\cvs_work\i>
=============================
Input from Chad and Wouter:
(1)
chad@andr... wrote:
That package is where utility classes are generated (that class is used by the Hibernate Criteria support). As this error seems to happen as well in large JSP files (when compiled into a servlet), its a compiler limitation, I think the only solution is to generate multiple instead of one big file...or generate a properties file and read in the configuration I have in there. So if you would, please file a JIRA issue in the Spring cartridge.
(2)
wouter@andr... wrote:
I think the problem is that the static { } block is too large, I've seen that behavior also within Websphere when the contents of a try/catch were lengthy
I'm pretty sure simply doing multiple static blocks instead of one will solve the problem, I've never heard of a thing such as a class file size limit
(3) Richard Kunze
wouter@andr... wrote: "I think the problem is that the static { } block is too large"
That's very probably the cause - there is definitely a limit (64K if I recall correctly and if it hasn't changed since JDK 1.3) on the size of the bytecode for a single method/constructor/initializer block. I've encountered this problem in another code generator (XMLC, generates presentation layer Java code from plain HTML/XML pages), and solved it by splitting large methods into multiple smaller ones which were then called in sequence.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.andromda.org/secure/Administrators.jspa
-
If you want more information on JIRA, or have a bug to report see:
http://www.atlassian.com/software/jira
-------------------------------------------------------
SF.Net email is Sponsored by the Better Software Conference & EXPO
September 19-22, 2005 * San Francisco, CA * Development Lifecycle Practices
Agile & Plan-Driven Development * Managing Projects & Teams * Testing & QA
Security * Process Improvement & Measurement *
http://www.sqe.com/bsce5sf
_______________________________________________
Andromda-devel mailing list
Andromda-devel@list...
https://lists.sourceforge.net/lists/listinfo/andromda-devel
opensubscriber is not affiliated with the authors of this message nor responsible for its content.