Eclipse Eclipse mit Maven mit Abhängigkeiten

julianpe

Aktives Mitglied
Hallo,

ich bin noch recht neu in der Java Programmierung und wollte mal ein paar externe Bibliotheken/Abhängikeiten für ein Testprogramm nutzen.

Ich bin aus privatem Interesse auf diese Bibliothek aufmerksam geworden:
http://financequotes-api.com/

Ich habe aus meinem Projekt in Eclipse ein Maven Projekt gemacht und folgende Abhängigkeit in die pom.xml Datei eingefügt:

Code:
<dependency>
    <groupId>com.yahoofinance-api</groupId>
    <artifactId>YahooFinanceAPI</artifactId>
    <version>x.y.z</version>
</dependency>

Das ganze sieht in der pom.xml nun so aus:

Code:
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>StockViewer</groupId>
  <artifactId>StockViewer</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
    <sourceDirectory>src</sourceDirectory>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
  <dependencyManagement>
      <dependencies>
<dependency>
    <groupId>com.yahoofinance-api</groupId>
    <artifactId>YahooFinanceAPI</artifactId>
    <version>x.y.z</version>
</dependency>
      </dependencies>
  </dependencyManagement>
</project>


Mein Quelltext sieht mit dem Beispielcode aus dem Projekt nun so aus:
Code:
import java.math.BigDecimal;
import yahoofinance.*;

public class MainPage {

    public static void main(String[] args) {
        Stock stock = YahooFinance.get("INTC");
         
        BigDecimal price = stock.getQuote().getPrice();
        BigDecimal change = stock.getQuote().getChangeInPercent();
        BigDecimal peg = stock.getStats().getPeg();
        BigDecimal dividend = stock.getDividend().getAnnualYieldPercent();
         
        stock.print();

    }

}
Wie kann ich nun die .jar Dateien aus der Bibliothek in mein Projekt mit einbinden, bzw was muss ich genau im Quelltext über import noch einfügen?
 
Ich habe die .jar Dateien in das Projekt importiert (rechte Maustaste auf das Projekt -> Import -> General -> Archive File). Ist das soweit korrekt? Ich habe auch im Quelltext die Zeile import yahoofinance.*; selber eingefügt. Ist das richtig so?

//Edit:

In der Zeile Stock stock = YahooFinance.get("INTC");
Wird ein neuer Datentyp stock vom Typ Stock angelegt. Dieser wird Werte von YahooFinance.get() zugewiesen. Diese Zuweisung wird bei mir im Eclipse unterkringelt. Wahrscheinlich kann er keinen Bezug darauf nehmen?!
 

Anhänge

  • Auswahl_009.png
    Auswahl_009.png
    95,6 KB · Aufrufe: 47
Zuletzt bearbeitet:
Habe es gerade bei mir in IntelliJ IDEA ausprobiert.

<version>x.y.z</version> ist wahrscheinlich ein Platzhalter, probier mal <version>1.4.0</version>

Sonst musst du eigentlich nichts machen, bei mir wurde als ich "Stock" eingetippt habe, der Import vorgeschlagen.

Java:
import yahoofinance.Stock;
import yahoofinance.YahooFinance;

public class Main {
    public static void main(String[] args) {
        Stock stock = YahooFinance.get("INTC");
        System.out.println(stock);
    }
}
 
Danke für Deine Antwort.
Ich befürchte, dass ich bei Eclipse die Importierung der .jar Dateien irgendwie falsch vorgenommen habe.
Ich bekomme, nachdem ich die Versionsnummer auf 2.0.0 geändert habe, immernoch folgende Fehlermeldung:
Code:
Exception in thread "main" java.lang.Error: Unresolved compilation problems:
    Stock cannot be resolved to a type
    YahooFinance cannot be resolved

    at gui.MainPage.main(MainPage.java:11)
In Zeile 11 steht: Stock stock = YahooFinance.get("INTC");

//Edit:
Fehler gefunden. Habe die Dateien falsch eingebunden.
Man muss über Projektproperties als externe Libarys die .jars einbinden.

Besten Dank für Deine Hilfe 🙂
 
Zuletzt bearbeitet:
Erstell mal ein neues Projekt und probier es dort nochmal.
Normal musst du nur die pom.xml anpassen und auf importieren drücken.
Also nichts von Hand zuweisen.
 
Moin, habe ein ähnliches Problem - Ich bin momentan dabei einer Tutorialreihe zu Folgen, die einen Discord-Bot programmiert. Der Autor des Tutorials verwendet dabei allerdings IntelliJ IDEA, wobei ich bisher immer Eclipse benutzt hatte und daher dabei bleiben wollte. Im ersten Teil ist es nötig eine JDA zu importieren, das ist mir auch problemlos gelungen, da ich eine externe JAR Datei der Bibliothek vorliegen hatte.

Nun ist es im nächsten Schritt allerdings erforderlich eine externe Bibliothek Namens Lava-Player einzubinden:
https://github.com/sedmelluq/lavaplayer
Allerdings gibt es hier nirgends eine Jar, die ich so dem BuildPath zuweisen könnte..

Wie kann ich nun diese Bibliothek importieren? Auf der Seite ist eine Anleitung zu finden, was in die pom.xml geschrieben werden muss, allerdings hilft mir das nicht sehr viel weiter.

Habe das Projekt zu einem Maven-Projekt konvertiert und habe in die pom.xml den Code der auf der Seite zu finden ist eingetragen über Notepad++, wobei ich x.y.z bei der Version durch 1.2.56 ersetzt habe.
Dann hab ich Eclipse einmal neu gestartet um die pom.xml zu refreshen, aber die externe Bibliothek wurde nicht herunter geladen.
Kann mir da wer helfen? Glaube dass das ein typischer Anfängerfehler ist..
 

Neue Themen


Zurück
Oben