A Servoy Application Server installation can be upgraded from the command-line to new maintenance (x.x.x) or minor (x.x.0) version. Command-line upgrades to new major (x.0.0) versions is not supported, unless explicitly mentioned in the release notes.
In order to perform a command-line upgrade, the Servoy Application Server needs to be able to connect the internet and more explicitly to http://www.servoy.com for downloading the upgrade package
To upgrade a Servoy Application Server the following steps must be followed:
{servoyInstall}/application_server
directory Execute one of the commands from the table below
Command | Comment | |
---|---|---|
Default | java -jar servoy_updater.jar | Upgrades to latest non beta release |
Include beta versions | java -jar servoy_updater.jar -beta | Upgrades to latest beta or non beta release |
Update to specific release (since Servoy 6.1) | java -jar servoy_updater.jar -releaseNumber buildNumber | Upgrades to a release based on the specific build number of the release. The build number for a specific release is mentioned in the announcement of the release on the Servoy Talk forum. |
The update process will update only the Servoy Application Server installation. It does NOT update the Servoy Repository structure. When the upgraded Servoy Application Server is launched and it finds an incompatible version of the Servoy Repository, the launch will be aborted with the message that the Servoy Repository needs to be upgraded. See Servoy Repository upgrade for more info.
When the Servoy Smart Client is used, the topic of signing becomes relevant to:
For more on the topic of code signing see ......
Files replaced by the updater will be properly signed by Servoy. However, if the default Servoy signing has been previously replaced by custom signing, this means that part of the codebase is now signed using a custom certificate and part of the codebase is signed by Servoy's certificate. while this is not problematic from a technical perspective (the Smart Client will still work), it does mean that the user will be presented with multiple dialogs that asks if the user trusts the party that signed the code.
The update mechanism will automatically replace existing files if a new version is available in the update or will place a file that is part of the default distribution if it is missing in the existing installation.This might not be desired if for example certain plugins have been removed that are not used or different versions of libraries have been manually installed.
Both the update and the placement actions can be prevented, but understand that this means that any additions or fixes made to those files will not be available after the update. Worst-case scenario is that the old version is incompatible with the new Servoy version and things might not work as expected.
The updater mechanism will not touch any file marked as read-only on the File system, so to prevent the updater to overwrite specific files, mark the files as read-only
By replacing a file that is shipped by default with an empty file that is read-only, the content of the file is effectively removed and as the file it read-only, the updater will not replace it with the default version
Some Java environments start with IPv6 Stack. When actually running on IPv4, this might cause issues in the download of the update. Add '-Djava.net.preferIPv4Stack=true' to the end of the update command.