Thanks everyone,
I could build/download the all-deps jar but it didn't help my example - it
is possibly a classloader issue related to trying to run a forked server
via Ant.
Just some background, I wanted a single script newbies could run to try out
NLPCraft for a "Data Science with Groovy" workshop I am giving next week.
The script forks a new process via Ant for the server to save the students
having to do that separately. The fork/Ant piece is probably the issue.
I will probably remove that since it is a bit problematic (interleaving
logs etc.) and I don't have the issue when starting the server separately
in the normal way.
But it is working for now, so I'll probably leave it as is for next week.
There is still an issue with using Gradle dependency management and
IntelliJ with error as shown in earlier email. Using the all-dep jars gets
past that but then hits the (what I think is a) classloader issue:
[java] Error: Could not find or load main class
org.apache.nlpcraft.NCStart
[java] Caused by: java.lang.ClassNotFoundException:
org.apache.nlpcraft.NCStart
[java] Java Result: 1
Cheers, Paul.
P.S. Total script (just running light switch example) below:
import org.apache.nlpcraft.NCStart
import groovy.ant.AntBuilder
import org.apache.nlpcraft.examples.lightswitch.LightSwitchModel
import org.apache.nlpcraft.model.tools.test.NCTestClientBuilder
import static org.apache.nlpcraft.model.tools.embedded.NCEmbeddedProbe.start
import static org.apache.nlpcraft.model.tools.embedded.NCEmbeddedProbe.stop
def t = Thread.start { new AntBuilder().with {
java(classname: NCStart.name, fork: true, clonevm: true) {
arg(value: '-server')
}
}}
sleep 35000 // allow server to start up
start(LightSwitchModel)
def cli = new NCTestClientBuilder().newBuilder().build()
cli.open("nlpcraft.lightswitch.ex")
println cli.ask('Turn on the lights in the master bedroom')
println cli.ask("Light 'em all up")
println cli.ask('Make it dark downstairs') // expecting no match
if (cli) {
cli.close()
}
stop()
t.interrupt()
t.join()
With output extracted from logs being:
[java] Lights are [on] in [master bedroom].
[java] Lights are [on] in [entire house].
[java] No matching intent found.
On Thu, Dec 3, 2020 at 1:01 PM Nikita Ivanov <[email protected]> wrote:
> Paul,
> I believe you can either (a) download source zip, and 'mvn clean package'
> to get this all-deps JAR, (b) download binary ZIP that includes it already,
> and (c) use maven dependency management to get all that sorted out
> automatically.
> Thanks,
> --
> Nikita Ivanov
>
>
>
> On Wed, Dec 2, 2020 at 2:29 PM Paul King <[email protected]> wrote:
>
>>
>> Hi all,
>>
>> I noticed that the documentation refers to an all jar:
>>
>> apache-nlpcraft-0.7.2-all-deps
>>
>> Is that available somewhere? Or is it something I should build from the
>> sources?
>>
>> I tried a hello world on windows just referencing the normal jar and it
>> fails from Intellij:
>>
>> [image: image.png]
>>
>> I am presuming that this error is due to too many dependencies, I don't
>> have that problem from the command-line.
>>
>> Cheers, Paul.
>>
>>