Seite 1 von 1

Problem beim Import des Amazon Packets in Java

Verfasst: Mo 13. Mär 2017, 17:13
von Fabi_Fer
Hallo zusammen,
ich tüftel gerade an meinem ersten Alexa Skill. Den Code schreibe ich in Java, da kenne ich mich ziemlich gut aus. Ich weiß auch schon, dass man bei Lambda "einfach" die .jar Datei hochladen kann, um den Code online zu bringen. Wie genau diese Jar Datei aufgebaut sein muss, da werde ich mich dann noch mal drüber informieren müssen. Allerdings kann ich noch keine Jar Datei erstellen, da mein Code nicht kompiliert wird. Ich importiere, wie auch in dem Java Grundgerüst, das Amazon zur Verfügung stellt, verschiedene Klassen aus dem Packet com.amazon.speech:

Code: Alles auswählen

import com.amazon.speech.slu.Intent;
import com.amazon.speech.speechlet.IntentRequest;
import com.amazon.speech.speechlet.LaunchRequest;
import com.amazon.speech.speechlet.Session;
import com.amazon.speech.speechlet.SessionEndedRequest;
import com.amazon.speech.speechlet.SessionStartedRequest;
import com.amazon.speech.speechlet.Speechlet;
import com.amazon.speech.speechlet.SpeechletException;
import com.amazon.speech.speechlet.SpeechletResponse;
import com.amazon.speech.ui.PlainTextOutputSpeech;
import com.amazon.speech.ui.Reprompt;
Allerdings bekomme ich beim Kompilieren immer die Fehlermeldung, dass diese Packete nicht gefunden werden konnten. Was mache ich falsch? Worauf muss ich evtl achten?

Mfg

Re: Problem beim Import des Amazon Packets in Java

Verfasst: Di 14. Mär 2017, 10:00
von luigidc
Was heißt nicht gefunden? ClassNotFoundExeption?
Wo liegen die Amazon-Packages in Deinem Projekt?
Stimmt der Classpath?

Re: Problem beim Import des Amazon Packets in Java

Verfasst: Di 14. Mär 2017, 16:28
von Fabi_Fer
Ok, die Packete selbst werden jetzt gefunden...
Ich habe mir den Ordner von https://github.com/amzn/alexa-skills-kit-java runtergeladen. In meinem Projekt-Verzeichnis habe ich jetzt meine .java Datei, die unter anderem den obigen Code enthält, und den Ordner com, der im Verzeichnis src des Skill Kits liegt. Jetzt findet er die Packages, allerdings findet er jetzt einige Packages nicht, die in den obigen Packages importiert werden.
So bekomme ich jetzt beim Kompilieren z.B. den Fehler:

Code: Alles auswählen

.\com\amazon\speech\speechlet\SpeechletRequest.java:41: error: package com.fasterxml.jackson.databind does not exist
import com.fasterxml.jackson.databind.DeserializationContext;
Insgesamt sind es wohl 100 Errors, die poste ich jetzt mal nicht alle hier ;-)
Es ist richtig, dass in dem Ordner com nur der Ordner Amazon ist, und nicht auch der Ordner fasterxml, auf den anscheinend zugegriffen werden soll. Allerdings ist das genau die Ordnerstruktur, die ich runtergeladen habe...

Re: Problem beim Import des Amazon Packets in Java

Verfasst: Mi 15. Mär 2017, 09:14
von luigidc
Amazon geht von einer Entwicklung mit Maven aus, siehe hier:
https://developer.amazon.com/public/sol ... va-library
Dort werden die Abhängigkeiten wohl automatisch runtergeladen.
Manuell findest Du das Package hier:https://github.com/FasterXML/jackson-databind
oder bereits als Jar hier: http://repo1.maven.org/maven2/com/faste ... ind/2.8.7/

Re: Problem beim Import des Amazon Packets in Java

Verfasst: Do 16. Mär 2017, 15:32
von Fabi_Fer
Vielen Dank für die Antworten! Mit Maven habe ich es jetzt geschafft, die .jar Datei zu erstellen :-)
Allerdings läuft meine Funktion immer noch nicht richtig, Lambda gibt mir immer einen Fehler aus beim Testen. Selbst beim Sample Projekt...
Siehe faehigkeiten-skills-entwickeln-f8/error ... t1610.html