# JSON Dependencies in Maven



## Tintenfisch (16. Aug 2022)

Hallo allerseits,
Ich bin gerade dabei, einem bestehenden Projekt, Maven "aufzusetzen", wobei ich bei den Abhängigkeiten auf ein Problem gestoßen bin.
Ich nutze json.org, welches auch dementsprechend eingebunden ist. Der Import von "org.json._" funktioniert zwar, jedoch ist es nicht möglich gewisse Objekte zu erstellen, wie bspw. ein json.Array. Es wird auf dem entsprechenden Objekt dann auf das Importieren hingewiesen, wie hier: "import org.json.JSONArray". Ersetze ich nun dem ersten Import "org.json._" durch "org.json.Array", wird gezeigt, dass dieses nicht zugänglich ist. 

Vielleicht hat einer von euch ja eine Idee, was ich übersehen oder aber noch nicht recht verstanden habe.
Anbei mal die Abhängigkeiten in der pom.xml und meine module-info.java. 


```
<!-- https://mvnrepository.com/artifact/org.json/json -->
    <dependency>
        <groupId>org.json</groupId>
        <artifactId>json</artifactId>
        <version>20220320</version>
    </dependency>
```


```
module orderview {
    requires javafx.fxml;
    requires javafx.controls;
    requires javafx.graphics;
    
    requires java.sql;
    
    requires org.json;

    exports application;
}
```


----------



## yfons123 (16. Aug 2022)

du kannst in intellij einen "refresh von maven sachen refreshen" mit  "reimport all maven projects" bzw mit
settings (ctrl alt s) -> Build,execution,deployment -> Build Tools -> Maven -> Repositorys
 maven -> update



oder in eclipse rechtklick auf das projekt => maven => maven dependencies erneuern, kann sein dass es noch nicht runter geladen ist


und dann halt IDE neu starten


----------



## KonradN (16. Aug 2022)

Was genau versuchst Du? org.json.Array gibt es nicht. Es gibt ein org.json.JSONArray. Daher ist es durchaus normal, dass er ein org.json.Array anmeckert.


----------



## Tintenfisch (16. Aug 2022)

KonradN hat gesagt.:


> Was genau versuchst Du? org.json.Array gibt es nicht. Es gibt ein org.json.JSONArray. Daher ist es durchaus normal, dass er ein org.json.Array anmeckert.


Dabei handelt es sich leider tatsächlich um einen Tippfehler, hier im Forum. Der Import von "org.json.JSONArray" zeigt den selben Fehler.


----------



## Tintenfisch (16. Aug 2022)

Ich habe die selben Dependencies mal eben in einem neuen Projekt getestet und dort funktioniert alles. Es muss wohl an dem ganzen Projekt liegen, denn wenn ich in dem fehlerhaften Projekt eine neue Klasse erstelle und dort die dementsprechenden Objekte importiere, ist ebenfalls der Import nicht zugänglich.

@yfons123 genau dieser Pfad ist bei mir zwar so nicht vorhanden, aber ich kann das Maven Projekt aktualisieren, welches denke mal die selbe Funktion zeigen würde. Allerdings ist der Fehler weiter vorhanden. Schaue ich jedoch im Ordner "Maven Depenencies", ist die dementsprechende jar wohl noch nicht heruntergeladen.


----------



## KonradN (16. Aug 2022)

Ok, das sieht aber soweit alles korrekt aus. Bei sowas gehe ich immer hin und prüfe es auf der Kommandozeile. Läuft es auf der Kommandozeile problemlos? Wenn Maven es auf der Kommandozeile richtig übersetzt, dann hat sich IntelliJ wirklich etwas verstrickt. Das mit dem Reimport kann zielführend sein - ich selbst neige da aber immer direkt zur Holzhammer-Methode: Ich lösche direkt das .idea Verzeichnis und die *.iml Dateien um dann das Projekt neu zu öffnen in IntelliJ. Dann wird wirklich alles neu eingescannt. Das verhindert dann irgendwelche Probleme, denn du weisst nicht, was evtl. noch alles im Cache dann ungültige Werte hat.


----------



## Tintenfisch (16. Aug 2022)

Okay, Problem gelöst, ich hatte im Classpath bei Eclipse noch die dementsprechende jar importiert. Nachdem ich diese gelöscht hatte, werden keine Fehler mehr gezeigt.

Danke für eure Unterstützung


----------



## KonradN (16. Aug 2022)

Tintenfisch hat gesagt.:


> Okay, Problem gelöst, ich hatte im Classpath bei Eclipse noch die dementsprechende jar importiert. Nachdem ich diese gelöscht hatte, werden keine Fehler mehr gezeigt.


Auch noch Eclipse - ich war irgendwie von IntelliJ ausgegangen. Da wäre mein Hinweis auch nicht so anzuwenden.


----------

