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.
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
You need to install tomcat-native-1.2.31 from source code as following steps:
yum install gcc apr-devel apr-util
/tmp foldercd /tmp
wget https://mirror-hk.koddos.net/apache/tomcat/tomcat-connectors/native/1.2.31/source/tomcat-native-1.2.31-src.tar.gz
tar zxvf tomcat-native-1.2.23-src.tar.gz
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
make & make install
$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!