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.XMLParserConfiguration
This 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.