Where to deploy your Java classes and libraries

Implementing Java plugins

If you are writing Java classes that implement PolicyCenter plugin interfaces, those are known as Java plugins.

In the following directory listings, PLUGINDIR_OR_SHARED represents that the value can be either:

  • a plugin directory name as defined in the plugin registry for that plugin
  • the special value shared. Use shared if other Java class loaders or plugin directories need access to those classes or libraries.

For more about plugin directories, see Add an implementation to a Plugins Registry item.

If the code from version 7.0 uses entity data for anything, use the following locations:

  • Put classes in PolicyCenter/modules/configuration/plugins/PLUGINDIR_OR_SHARED/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/PLUGINDIR_OR_SHARED/lib

From the previous two locations, PolicyCenter always performs legacy external entity conversion and container (list or collection) conversion.

Note: If your Java plugin code from version 7.0 uses Guidewire entity data, as in 7.0 you must copy the generated file gw-entity-cc.jar to the directory PolicyCenter/modules/configuration/plugins/shared/lib.

If the code from version 7.0 does not use entity data for anything, use the following locations:

  • Put classes in PolicyCenter/modules/configuration/plugins/shared/basic/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/shared/basic/lib

From the previous two locations, PolicyCenter never performs legacy external entity conversion or container (list or collection) conversion. You cannot use these locations if you use any entity data with the deprecated API.

If the code uses the PolicyCenter 8.0 Java API, use the following locations:

  • Put classes in PolicyCenter/modules/configuration/plugins/PLUGINDIR_OR_SHARED/basic/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/PLUGINDIR_OR_SHARED/basic/lib

In the Java API 8.0, external entity conversion and container conversion is unnecessary.

Java classes and libraries to call from arbitrary Gosu code

In version 8.0, as in previous releases, you can deploy Java classes and libraries for use by arbitrary Gosu code in Studio. In other words, in addition to writing plugin code in Java, you can write other Java classes and call them from Gosu.

In the following directory listings, GOSU_OR_SHARED represents that the value can be either Gosu or shared. Carefully note the capitalization of the two words. Use shared if other Java class loaders or plugin directories need access to those classes or libraries.

If the code from version 7.0 uses entity data for anything, use the following locations:

  • Put classes in PolicyCenter/modules/configuration/plugins/GOSU_OR_SHARED/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/GOSU_OR_SHARED/lib

From the previous two locations, PolicyCenter always performs legacy external entity conversion and container (list or collection) conversion.

If the code from version 7.0 does not use entity data for anything, use the following locations:

  • Put classes in PolicyCenter/modules/configuration/plugins/Gosu/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/Gosu/lib

    From the previous two locations, PolicyCenter always performs legacy external entity conversion and container (list or collection) conversion.

  • Put classes in PolicyCenter/modules/configuration/plugins/shared/basic/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/shared/basic/lib

    From the previous two locations, PolicyCenter never performs legacy external entity conversion or container (list or collection) conversion. You cannot use these locations if you use any entity data with the deprecated API.

If the code uses the PolicyCenter 8.0 Java API, use the following locations:

  • Put classes in PolicyCenter/modules/configuration/plugins/GOSU_OR_SHARED/basic/classes
  • Put libraries in PolicyCenter/modules/configuration/plugins/GOSU_OR_SHARED/basic/lib

In the Java API 8.0, external entity conversion and container conversion is unnecessary.