blob: e64f3b136484a6168a14be6b81690bfc0c2b890f [file] [log] [blame]
---
active_crumb: Docs
layout: documentation
id: installation
---
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<div id="installation" class="col-md-8 second-column">
<section id="install">
<h2 class="section-title">Installation <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Apache NLPCraft requires <b>no special installation</b> operations:
</p>
<ul>
<li>If you <a href="/download.html">downloaded</a> binary ZIP archive - <a target="asf" href="https://www.apache.org/dyn/closer.cgi#verify">verify</a> it and unzip it</li>
<li>If you <a href="/download.html">cloned</a> GitHub repository or downloaded source archive - use <code>mvn clean install</code> to build it</li>
<li>If you <a href="/download.html">used</a> Maven/Gradle/SBT - you know what you are doing 👍</li>
</ul>
<div class="bq warn">
<p>
<b>NLPCraft v0.7.0+ requires JDK 11</b>
</p>
<p>
Starting with version <b>0.7.0</b> NLPCraft requires JDK 11+ to compile and run. All development
and testing is done on JDK 11 and Scala 2.12. Prior versions only supported JDK 8.
</p>
</div>
</section>
<section id="clean">
<h2 class="section-title">Reset Database <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
For releases marked with <i class="fas fa-fw fa-bomb"></i> you need to reset the existing database. If you are
using the Apache Ignite storage (default configuration for NLPCraft) you can accomplish this by
removing <code>${USER_HOME}/.nlpcraft/ignite</code> folder.
</p>
<p>
If you are using other storage engines (e.g. Postgres or MySQL) you need to follow their specific
procedures to recreate the database using SQL scripts from <code>sql</code> sub-folder in NLPCraft
installation directory.
</p>
</section>
<section id="config">
<h2 class="section-title">External Configuration <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Due to <a target="asf" href="https://apache.org/legal/release-policy.html">Apache release policy</a> the official Apache release cannot include content that is based on
<a target=_ href="https://creativecommons.org/licenses/by/4.0/">Commons Attribution 4.0 International</a> (CC BY 4.0) license
or any binary artifacts regardless of their respective licences. Due to these restrictions the NLPCraft release
does not include certain configuration files that are necessary for its operation. These files will be auto-downloaded upon first star of NLPCraft.
On subsequent starts the NLPCraft will check for the updates and will re-download these files only if they were changed.
</p>
<p>
By default, this external configuration is hosted on GitHub (in <code>master</code> branch of NLPCraft project) from where it will
be automatically downloaded on the first start: <a target="github" href="https://github.com/apache/incubator-nlpcraft/tree/master/external">https://github.com/apache/incubator-nlpcraft/tree/master/external</a>.
You can change this location, e.g. move the external configuration behind your firewall or onto your local file system,
as well as change other parameters related to auto-download of the external configuration
in <code>nlpcraft.conf</code> file (see <code>nlpcraft.extConfig</code> property).
</p>
</section>
<section id="ignite">
<h2 class="section-title">Apache Ignite 2.x <span class="amp">&amp;</span> Java 11+ <a href="#"><i class="top-link fas fa-fw fa-angle-double-up"></i></a></h2>
<p>
Starting with NLPCraft 0.7.0, NLPCraft requires JDK 11 as its minimum JDK version.
NLPCraft uses <a target=_ href="https://ignite.apache.org/">Apache Ignite 2.x</a> project as its
underlying in-memory distributed storage and cluster computing framework. When running Apache Ignite 2.x
on Java 11 you need to follow these
<a target=_ href="https://apacheignite.readme.io/docs/getting-started#section-running-ignite-with-java-9-10-11">instructions.</a>
</p>
<div class="bq info">
<p>
<b>NOTE:</b> It is NOT recommended to change the version of Apache Ignite inside NLPCraft project.
</p>
</div>
</section>
</div>
<div class="col-md-2 third-column">
<ul class="side-nav">
<li class="side-nav-title">On This Page</li>
<li><a href="#install">Installation</a></li>
<li><a href="#clean">Reset Database</a></li>
<li><a href="#config">External Config</a></li>
<li><a href="#ignite">Apache Ignite</a></li>
{% include quick-links.html %}
</ul>
</div>