public interface SgwtEEManualSetup
standard setup. For those unable or
unwilling to do so, however, this overview serves as a how-to for adding Smart GWT to your
project manually.
Now add SmartGWT EE: all of these steps are required. Do not skip steps or omit resources you think you may not need. Get a working project first, then think about trimming resources, as needed, once you understand the system.
In the steps below, copying from eg "war/WEB-INF/..." means copying from the "war" subdirectory of whichever sample project is closest to your desired integration strategy.
here.
<inherits name="com.smartgwtee.SmartGwtEE"/>
<inherits name="com.smartgwtee.tools.Tools"/>
NOTE: if you were previously using SmartGWT LGPL, remove the
<inherit> of 'com.smartgwt.SmartGWT' and ensure the <inherit> of
'com.smartgwt.tools.SmartGwtTools' appears before the imports above. Also ensure
that all SmartGWT-related inherits appear *before* your <entry-point> declaration.
LoadingOptionalModules for additional inherits
ServerLogging for information on server-side logging and
how to configure it.
server.properties across to the
"src" dir of your project.
This file is either in the "src/" dir of a given sample project or in war/WEB-INF/classes.
This contains miscellaneous server settings - see the file itself for documentation.
server.properties file. More
information on JPA configuration can be found in JpaIntegration.
here.
See the
server-side JavaDoc for further details on servlet APIs and override points.
server.properties.
org.apache.xerces.parsers.XIncludeAwareParserConfiguration cannot be cast to
org.apache.xerces.xni.parser.XMLParserConfigurationThis is due to xerces classes being included in GWT 2.8+, in addition to being in the JRE. To solve, add the following extra VM arguments to either your launch configuration or JRE in Eclipse:
-Djavax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
-Djavax.xml.parsers.DocumentBuilderFactory=com.sun.org.apache.xerces.internal.jaxp.DocumentBuilderFactoryImpl
Troubleshooting
| Problem | Possible Causes | Solution |
| ClassNotFound or other Java Exceptions in the server log. | Missing JAR files | Verify every .jar from the smartgwtee-version/lib directory has been added to your CLASSPATH. Although you might later be able to remove some .jars, for initial installation testing, copy every .jar |
| Client-side error about attempting to use "iscServer" request without server installed | Wrong imports in moduleName.gwt.xml | See correct imports above, note remove com.smartgwt.SmartGWT import and be sure imports are in the correct order |
| Client-side error about "$debox is not defined" | Wrong order of imports in moduleName.gwt.xml | Make sure all SmartGWT-related imports appear before <entry-point> in your .gwt.xml file |
| Missing images or failure to load page | Didn't set isomorphicDir in .html bootstrap file | See step above for setting isomorphicDir |
| Server error: "adminConsole" app not found when launching tools such as Reify | Bad filesystem paths configured in server.properties |
Correct paths in server.properties.
NOTE the samples include the GWT module
name in some settings, search and replace this value with your GWT module name |
| Server error: Can't find DataSource with ID yourDataSourceID | Bad filesystem paths in server.properties or
bad DataSource .ds.xml file |
Correct paths in server.properties -
search for
"project.datasources". Also check that
the DataSource ID you are using matches the "ID" attribute in the .ds.xml file (NOTE:
ID attribute is uppercase "ID" not "id") and that the file is named
dataSourceId.ds.xml. DataSource IDs are case sensitive, including the
file name. For more in-depth troubleshooting steps, see
+link{http://forums.smartclient.com/showthread.php?t=8159#aDSLoad,this FAQ answer}. |
| Server unable to load builtinTypes.xml as it starts up, possibly hitting a NullPointerException | Modules have been added to your GWT project (.gwt.xml) but you haven't run another GWT compile | GWT compile your project again |
For further troubleshooting steps, see the SmartGWT FAQ and, if still stuck, try posting in the Forums. NOTE: gather all the information indicated in the FAQ before posting.
NOTE: It is possible to create a server-only SmartGWT EE project that will run
standalone (ie, not inside a servlet container or application server). Please see
Standalone DataSource Usage for
details.