IntelliJ: importiertes Package wird nicht gefunden?

1 Antwort

Ich habe es mal kurz folgendermaßen durchgespielt:

  1. IntelliJ gestartet und ein neues Maven-Projekt angelegt.
  2. Die IDE generiert die pom.xml und öffnet sie sogleich in einem Tab.
  3. Wie auf der GitHub-Seite des Projekts beschrieben, habe ich die Dependency hinzugefügt. Zuvor ist noch der dependencies-Tag drumherum notwendig (s. u.).
  4. Ein Popup erscheint, in dem mir angeboten wird, die Änderungen zu importieren, was ich sogleich machen lasse.
  5. Danach erstelle ich unter src/main/java eine neue Klasse (Main.java) und füge deinen Quellcode ein.
  6. Danach baue ich das Projekt (Strg + F9). Das wird bei mir erfolgreich durchgeführt.
<dependencies>
  <dependency>
    <groupId>com.github.kurbatov</groupId>
    <artifactId>firmata4j</artifactId>
    <version>2.3.7</version>
  </dependency>
</dependencies>

Wenn ich das Programm via Run ausführen lasse, bekomme ich ebenfalls einen Fehler:

SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Exception in thread "main" java.io.IOException: Cannot start firmata device
at org.firmata4j.transport.SerialTransport.start(SerialTransport.java:65)
at org.firmata4j.firmata.FirmataDevice.start(FirmataDevice.java:151)
at Main.main(Main.java:10)
Caused by: jssc.SerialPortException: Port name - COM3; Method name - openPort(); Exception type - Port not found.
at jssc.SerialPort.openPort(SerialPort.java:167)
at org.firmata4j.transport.SerialTransport.start(SerialTransport.java:56)
... 2 more

Das wird allerdings damit zusammenhängen, dass ich das Programm nicht auf einem Arduino ausführen lasse.


bossi2000 
Fragesteller
 26.05.2019, 22:13

Bei mir kommt leider kein Popup :( Keine Ahnung, was ich falsch mache ...

Aber auch als Gradle-Projekt funktioniert es nicht.

0
bossi2000 
Fragesteller
 26.05.2019, 22:44
@regex9

Danke! Als Maven-Projekt wie du es beschrieben hast funktioniert es jetzt. Aber meine Frag bezog sich eigentlich auf ein Gradle-Projekt. Hast du dazu vielleicht noch eine Idee?

0
regex9  26.05.2019, 23:03
@bossi2000

Hierzu komme ich zu dem selben Ergebnis wie oben. Wieder Schritt für Schritt:

  1. Ich erstelle ein neues Gradle-Projekt.
  2. Nachdem das neue Projekt vollständig geladen wurde, habe ich die build.gradle geöffnet und die Dependency ergänzt (s. u.).
  3. Die Änderung speichern - ich bekomme wieder einmal ein Popup angezeigt und aktualisiere darüber das Projekt. Die Bibliothek wird heruntergeladen.
  4. Unter src/main/java habe ich eine neue Main.java mit deinem Code eingefügt.
  5. Wenn ich das Programm ausführen lasse, bekomme ich wieder denselben Fehler, wie schon oben in meiner Antwort gepostet.

In der build.gradle sieht das dependencies-Objekt so aus:

dependencies {
  testCompile group: 'junit', name: 'junit', version: '4.12'
  compile group: 'com.github.kurbatov', name: 'firmata4j', version: '2.3.7'
}

Den JUnit-Verweis benötigt man natürlich nicht.

0