essentialinstall611.jar installation not working in console mode

Post Reply
cfoley1970
Posts: 3
Joined: 22 Feb 2018, 13:15

Hello...

I'm trying to get the essentialinstall611.jar to work in the console of a headless Redhat 7.4 server. The pre-requisites are all installed.

When I invoke java -jar essentialinstall.jar -console, the installation fails at:
[ Starting to unpack ]
[ Processing package: Update Scripts (1/10) ]
Calling ANT with buildfile: /opt/eam/EssentialAM/Repository/install/updateProtegeProps.xml
[ Unpacking finished ]
[ ERROR: The following error occurred while executing this line:
/opt/eam/EssentialAM/Repository/install/updateProtegeProps.xml:43: Warning: Could not find file /opt/eam/${PROTEGE_HOME}/protege.properties to copy. ]
com.izforge.izpack.installer.InstallerException: The following error occurred while executing this line:
/opt/eam/EssentialAM/Repository/install/updateProtegeProps.xml:43: Warning: Could not find file /opt/eam/${PROTEGE_HOME}/protege.properties to copy.

I've tried setting PROTEGE_HOME to "/opt/eam/Protege_3.5", "Protege_3.5", "opt/eam/Protege_3.5"....nothing works. Looks like the environment variable isn't being read correctly.

Saw a similar issue on the forums with a Docker installation of version 5. Unfortunately, doing an xterm to get Essential installed via a GUI isn't an option for me.

Apparently, there are Linux console installs happening....any suggestions?
User avatar
jonathan.carter
Posts: 1087
Joined: 04 Feb 2009, 15:44

Hi,

Thanks for posting.

In the installer, the following variables are referenced:
  • USER_HOME
  • PROTEGE_HOME
  • TOMCAT_HOME
  • SERVER_HOME
  • IMPORT_UTILITY_HOME
  • INSTALL_PATH
These are set during the execution of the installer via the installer GUI (in GUI-mode) or via the command line in headless mode, rather than being pre-defined at the OS environment level.

The step that is reporting the error is trying to find that folder and replace a file in your Protege installation.

Before this step is executed, you should have been asked a number of questions in which you choose the target installation directories for the platform components such as Protege, Tomcat etc.
When you select Protege’s, the installer is looking for the directory in which protege.jar exists. The GUI installer tries to prevent you from selecting a folder that does NOT contain this file - as a validation that you’ve got the right directory. Is the command line installer doing something similar?

The warnings / error do suggest that the Protege target install directory may not have been specified correctly when answering the question to specify the Protege install directory - not via an environment variable.

I do note that these are warnings that are being reported. Does the installer terminate at this point or continue? This is one of the first steps but it would be good to know whether it can continue or terminates at this point.

Please do feel free to screen-shot / copy-paste the terminal interactions of the installer.

Try the following steps and re-running the installer.
  • Check that you are specifying your Protege installation folder - presumably /opt/eam/Protege_3.5 - within the installer.
  • Check that the installer itself has rights to read and write into the Protege installation folder. It wants to copy in a replacement of the out-of-the-box protege.properties file. (It will make a backup of the original!). You may need to run the installer as root (e.g. sudo java -jar…), or set the properties on the Protege install folder and sub-folders to be writeable by everyone.
  • While you are there, also check that the installer can write to your <TOMCAT>/webapps directories
I suspect that if this first step of the installer is failing and the installer does not continue, then you will have similar issues with the steps that follow. However, if it appears that the installer does continue and apart from the warning that you’re seeing it seems to run, it could be worth trying to use the upgrade installer (which doesn’t run the step that is raising the error that you are seeing).
This will deploy all the components in the same way except that the Viewer and Import Utility web applications are deployed with names that include a version number, so as not to overwrite any pre-existing installers. You can, of course, rename these after the installation has completed.

Let me know what you find and how you get on.

A fallback option if we still can’t get the above things resolved is that we can manually deploy the various components, following the manual installation guide. If you can run the installer in an alternative workstation - to which you have access to the GUI - that will extract the components that need to be deployed from the installer package.

However, let’s start by getting the command-line installer going!

Jonathan
Essential Project Team
cfoley1970
Posts: 3
Joined: 22 Feb 2018, 13:15

Hi Jonathan....

Thanks for the reply. So here are my environment variables for everything setup:
CATALINA_HOME=/usr/share/tomcat8
PROTEGE_HOME=/opt/eam/Protege_3.5
JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
GRAPHVIZ_DOT=/usr/bin/dot (not really needed, but just in case)

Note that I have to run Protege server with the older version of Java (1.6.0_28) packaged with their installer because the RMI server won't work as a result of them using a file URL scheme.
Protege server does work like a champ and we can make remote connections from the Protege clients installed on our laptops.

Running the install with sudo, here's the text from the installation (whacked the licensing agreement to save space)

search field collection not implemented
search field collection not implemented
Specify Protege and Web Application Server installations
------------------------------------------
To install the Essential Architecture Manager plugins, please specify the location of your Protege installation and for the Essential Viewer, the location of your Java Web Application Server (e.g. Tomcat)
------------------------------------------
press 1 to continue, 2 to quit, 3 to redisplay
1
Select target path [/opt/eam]
/opt/eam/EssentialAM/Repository
The directory already exists and is not empty! Are you sure you want to install here and delete all existing files?
Press 1 to continue, 2 to quit, 3 to redisplay
1
press 1 to continue, 2 to quit, 3 to redisplay
1
Specify Essential Server Components installations
------------------------------------------
You can decide where to install the Essential Server configuration files, depending on your Protege install.
For fresh installations of Protege - that is, you are not already using Protege in server mode - install this in your Protege installation in PROTEGE_INSTALL/examples/server, which over-writes the default Protege server configuration.
However, if you are installing to a server installation of Protege that you are already using for other projects, or you wish to manage your server configuration along side your Essential Repository, choose an alternative location, e.g. the Essential Repository location

[${PROTEGE_HOME}/examples/server]
/opt/eam/Protege_3.5/examples/server
------------------------------------------
press 1 to continue, 2 to quit, 3 to redisplay
1
[ Starting to unpack ]
[ Processing package: Update Scripts (1/10) ]
Calling ANT with buildfile: /opt/eam/EssentialAM/Repository/install/updateProtegeProps.xml
[ Unpacking finished ]
[ ERROR: The following error occurred while executing this line:
/opt/eam/EssentialAM/Repository/install/updateProtegeProps.xml:43: Warning: Could not find file /opt/eam/${PROTEGE_HOME}/protege.properties to copy. ]
com.izforge.izpack.installer.InstallerException: The following error occurred while executing this line:
/opt/eam/EssentialAM/Repository/install/updateProtegeProps.xml:43: Warning: Could not find file /opt/eam/${PROTEGE_HOME}/protege.properties to copy.

My (albeit uneducated) thoughts:
Since the first page of the GUI has two drop-downs, those don't seem to display in the console installer (search field collection not implemented).
I'm not digging how the error message is rendering the protege.properties path string. I would think it should be ${PROTEGE_HOME}/protege.properties.

I was unaware of a manual install option, so I'll look for that. I would like to help you get the console installation figured out because I'm sure there are folks that would like to use this in a headless Linux server environment both on-prem and PaaS.
cfoley1970
Posts: 3
Joined: 22 Feb 2018, 13:15

I ended up running the installation via GUI on another system, then saving the selections to an XML so that I could do the auto-installation via the file (after changing settings to match my paths).
User avatar
neil.walsh
Posts: 444
Joined: 16 Feb 2009, 13:45
Contact:

Running in headless mode can always be challenging so it's great to hear you've finally got it working.

Cheers

Neil
Post Reply