1
votes

I just setup a new Java project with Tomcat 9 on Ubuntu 18.04.

However, when I start the Tomcat server using the command

sudo systemctl restart tomcat

I get the following error:

The Apache Tomcat Native library which allows using OpenSSL was not found on the java.library.path

I still can figure out what the issue is.

2

2 Answers

1
votes

I figured out what the issue was.

I had already set up an SSL/TLS/HTTPS connection protocol in the opt/tomcat/conf/server.xml file:

<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"
           maxThreads="150" SSLEnabled="true" >
    <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
    <SSLHostConfig>
        <Certificate certificateKeyFile="conf/key.key"
                     certificateFile="conf/cert.crt"
                     certificateChainFile="conf/chain.crt"
                     type="RSA" />
    </SSLHostConfig>
</Connector>

but the *.war file that was gonna use the connection was not put in the opt/tomcat/webapps directory.

Here's how I solved it:

I simply added the *.war file in the opt/tomcat/webapps directory of tomcat, and then I restarted the tomcat server using:

sudo systemctl restart tomcat

And everything worked fine.

That's all.

I hope this helps

0
votes

You need to install tomcat-native-1.2.31 from source code as following steps:

  1. Install tool (skipped them if already exists)
yum install gcc apr-devel apr-util
  1. Download tomcat-native from official site to /tmp folder
cd /tmp
wget https://mirror-hk.koddos.net/apache/tomcat/tomcat-connectors/native/1.2.31/source/tomcat-native-1.2.31-src.tar.gz
  1. Decompress file
tar zxvf tomcat-native-1.2.23-src.tar.gz
  1. Configuration
cd tomcat-native-1.2.23-src/native

./configure --with-apr=/usr/bin/apr-1-config \
            --with-java-home=$JAVA_JOME \
            --with-ssl=yes \
            --prefix=$CATALINA_HOME
  1. Compile and install
make & make install
  1. Edit $CATALINA_HOME/bin/setenv.sh (creating the file if necessary) and add the path to the tc-native libraries to LD_LIBRARY_PATH.
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$CATALINA_HOME/lib
export LD_LIBRARY_PATH

And it's work!