Details
Description
When using Maven to build the jars and/or sample applications many JavaScript errors are thrown relating to not being able to find resources/code.
Activity
Arran Mccullough
created issue -
Arran Mccullough
made changes -
Field | Original Value | New Value |
---|---|---|
Assignee | Deryk Sinotte [ deryk.sinotte ] |
Deryk Sinotte
made changes -
Fix Version/s | 3.3 [ 10370 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #34267 | Sun Apr 07 18:04:32 MDT 2013 | deryk.sinotte | |
Files Changed | ||||
MODIFY
/icefaces3/trunk/icefaces/core/pom.xml
MODIFY /icepush/trunk/icepush/core/pom.xml |
Deryk Sinotte
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Based on my initial analysis, there are a couple of issues with the Maven build of showcase:
1) The minor issue (not related to the main problem reported in the forum) is that all the themes are not included. There was a property called "includeThemeJars" that was added to the Ant build file as per
ICE-8921. However, the dependencies were never added to the Maven pom so the themes are not included. However, this only impacts the functionality of the showcase exception that the theme switcher won't work.2) The bigger problem is that the Maven builds are no longer including some important JavaScript resources. Turning on "Development" mode, the following is logged when running the version of showcase built with Maven:
Looking at the icefaces.jar and icepush.jar, I can see that the resources are not the same. In the Ant version of the iceface.jar:
Whereas in the Maven build of the library, only the coalesced file is available:
I thought that another workaround that might work is setting the property that uses the coallesced versions of the javascript resources:
<context-param> <param-name>org.icefaces.coalesceResources</param-name> <param-value>true</param-value> </context-param>
However, the coallesced.js file is just a dummy file used as a placeholder so that JSF has a "real" resource to find when a request is made. We actually do the coalescing when the request is made. It has to be dynamic this way because we don't really know the extent of the resources that will be included. However, the base .js files are missing and need to be there in all cases so that's where I'm looking.