Tuesday, September 5, 2017

Banner 9/Grails 2.5 Development Problems and Resolutions

This is a page of random problems and solutions encountered using Grails 2.5 for Ellucian Banner XE (9) Self-Service development. As new problems are resolved, they will be added to this list.

20170902 Grails Throws a NullPointerException on Recompile & Reload

After a file is changed, such as a controller, Grails notices the change, recompiles, and reloads the file but throws an error similar to this: ERROR plugins.AbstractGrailsPluginManager  - Plugin [controllers:2.5.0] could not reload changes to file.

This problem has only appeared for me on Microsoft Windows systems: when a class is recompiled and reloaded, a NullPointerException is thrown, often by the AbstractGrailsPluginManager. The class is actually recompiled and reloaded, so it was not clear exactly what the problem was. Sometimes the error originates in the scaffolding system, even when the application does use scaffolding. There are plenty of comments around the Internet about disabling forked execution, but only one comment clarified why.

Banner, Eclipse, and Grails!

You can use Eclipse as a single IDE for developing both Banner Admin Pages and Self-Service extensions! It is also possible to use other IDEs for developing Self-Service extensions; NetBeans has excellent Groovy and Grails support. The focus here is on using Eclipse for both development environments.

Disclaimer and warning: this post may become outdated at any time, but currently the most up-to-date information from Ellucian is:
  • Eclipse 4.6 (Neon) is the most current Eclipse IDE supported for developing Admin Pages. You must use an Eclipse-based IDE for developing Admin Pages, because the required plugins for development are only available for Eclipse. The plugins have been tested with Eclipse 4.4 (Mars), 4.5 (Luna), and (4.6) Neon.
  • IntelliJ Idea Ultimate is the recommended IDE for developing Self-Service extensions. The current IntelliJ version 2017.2.3 still supports the Groovy and Grails versions being shipped with Banner.
  • Other IDEs with Groovy and Grails support may be used for Self-Service development. Support for extending Banner and using Grails will be provided, but do not count on any support for using the IDE with Groovy and Grails.
  • Banner 9 ships with Grails 2.5, which depends on and includes Groovy 2.4.