Applying update fails when JBoss EAP 8.0.x installation directory (JBOSS_HOME) is symbolic link
Environment
- Red Hat JBoss Enterprise Application Platform (EAP)
- 8.0.x
Issue
When specified JBoss EAP 8.x installation directory (JBOSS_HOME) is a symbolic link, applying update fails with the following ERROR:
ERROR: java.nio.file.FileAlreadyExistsException: <specified-symbolic-link-of-JBOSS_HOME-directory>".
It looks failed at the last part of applying updates (copying jboss-modules.jar) and other files (jar files under modules directory) are appearantly updated before the ERROR message. So, even if applying update stopped with the ERROR message and not completed correctly, the version information output of ./bin/standalone.sh --verion shows newer versions (like JBoss EAP 8.0.2).
As $JBOSS_HOME/jboss-modules.jar is not updated, so the following ERROR can happen when starting "embed-server" in JBoss-CLI in JBoss EAP 8.0.2. Because the org.jboss.modules.ModuleLoggerFinder only exists in newer versions of jboss-modules.jar included in JBoss EAP 8.0.2+ and some modules (like "embed-server") depends on it.
$ ./bin/jboss-cli.sh
You are disconnected at the moment. Type 'connect' to connect to the server or 'help' for the list of supported commands.
[disconnected /] embed-server
org/jboss/modules/ModuleLoggerFinder: org.jboss.modules.ModuleLoggerFinder from [Module "org.wildfly.embedded" version 21.0.9.Final-redhat-00001 fr
om local module loader @3a1a3f52 (finder: local module finder @7177ab38 (roots: /opt/jboss8/modules,/opt/jboss8/modules/system/layers/base))]
Resolution
-
This is a bug in the installation manager reported as This content is not included.JBEAP-27356, which has been fixed in JBoss EAP 8.0.3+.
-
Until the bug is fixed or before updating to the fixed version (EAP 8.0.3+), you can workaround this issue by applying update by using Installation Manager (
jboss-eap-installation-manager.sh) with specifying real path (instead of specifying symbolic link) to--diroption:
./bin/jboss-eap-installation-manager.sh update perform --dir=/path/to/real-path-of-jboss-eap-8-installation-directory
Root Cause
This solution is part of Red Hat’s fast-track publication program, providing a huge library of solutions that Red Hat engineers have created while supporting our customers. To give you the knowledge you need the instant it becomes available, these articles may be presented in a raw and unedited form.