it-swarm.com.de

Wie füge ich externe Quellen und Javadoc hinzu, um IntelliJ zu nutzen?

Ich habe ein Java-Projekt mit IntelliJ und Gradle eingerichtet. Ich habe eine build.gradle -Datei in meinem Stammprojekt und kann meine App kompilieren und ausführen.

Allerdings ... ich verwende eine Java-Bibliothek, die eine Quell- und eine Javadoc-Zip-Datei enthält. Wenn ich in meinem Quellcode bin und zur Deklaration einer Klasse oder Methode aus dieser Bibliothek gehen möchte, ruft IntelliJ die .class-Datei anstelle der in der Zip-Datei bereitgestellten .Java-Quelldatei auf.

Wie kann ich gradle anweisen, die in der externen Bibliothek enthaltenen Quellen und Javadoc-Reißverschlüsse zu verwenden?

23
kruze

Ich bin nicht sicher, ob Ihre Bibliothek in einem Maven-Repository gespeichert ist oder nicht. Ich gehe davon aus, dass es ist.

Ich kenne zwei Möglichkeiten, ein Gradle-Projekt in IntelliJ zu importieren. Der erste war der "Import Project ..." Wizard von IntelliJ, der gut funktioniert. Die Javadoc-Gläser werden jedoch nicht importiert, wenn sie vorhanden sind. Zumindest habe ich es nie geschafft. 

Die zweite Methode verwendet das Ideen-Plugin in Gradle 2.1. Das Plugin generiert das Projekt für Sie. Auf diese Weise bekam ich den Javadoc. Ein voll funktionsfähiges Beispiel für ein build.gradle:

apply plugin: 'Java'
apply plugin: 'idea'

sourceCompatibility = '1.7'
targetCompatibility = '1.7'

repositories {
    mavenCentral()
}

dependencies {
    compile group: 'org.Apache.commons', name: 'commons-compress', version: '1.8.1'
    compile group: 'com.google.guava', name: 'guava', version: '18.0'

    testCompile group: 'junit', name: 'junit', version: '4.11'
    testCompile group: 'org.mockito', name: 'mockito-all', version: '1.8.5'
}

idea{
    project {
        languageLevel = '1.7'
    }
    module {
        downloadJavadoc = true // defaults to false
        downloadSources = true
    }
}

Den können Sie gradle cleanIdea idea aufrufen, der Ihr Projekt für IntelliJ erstellt.

Wenn Ihre Bibliothek nicht in einem Maven-Repository gespeichert ist, können Sie einfach einen Nexus für den Upload einrichten. Auf diese Weise können Sie die oben beschriebene Methode verwenden.

9
Sponiro

Es ist nicht Gradle, Sie müssen sagen, wo die Quellen sind. Es ist IntelliJ. 

Datei -> Projektstruktur -> Module -> Wählen Sie das richtige Modul aus, wenn Sie mehrere haben -> Registerkarte "Abhängigkeiten" -> Klicken Sie auf das Pluszeichen unten -> Jars oder Verzeichnisse auswählen -> Wählen Sie das Verzeichnis aus, in dem sich Ihre Quellen/Javadocs befinden Gläser 

IntelliJ wird feststellen, dass es sich um Javadoc-Quellen handelt, und sie werden entsprechend indiziert.

enter image description here

8
Michael

wechseln Sie zu einer IntelliJ Decompiled .class-Datei einer beliebigen Bibliothek. Wie in dem hier gezeigten Bild gezeigt, werden Sie feststellen, dass Intellij Ihnen 2 Optionen gibt 

  1. Wählen Sie eine Quelle aus dem Verzeichnis
  2. Herunterladen - von Maven

 enter image description here

1
Asad Abdin

Ich verwende Intellij und Gradle, um meine Java-Projekte zu erstellen. Dies wird durch die folgenden einfachen Schritte sehr einfach sein:

  • Fügen Sie zunächst auf derselben Ebene wie Ihr src-Verzeichnis ein "Verzeichnis" mit dem Namen "libs" . hinzu. enter image description here

  • Fügen Sie Ihre JAR-Dateien zu diesem Verzeichnis "libs" hinzu (dadurch wird Ihr Code portierbar).

  • Folge den Schritten:
  • Klicken Sie im Menü Datei auf Projektstruktur.

  • Wählen Sie im linken Bereich Module aus, zu denen Sie die neuen Gläser hinzufügen möchten.

  • Registerkarte "Abhängigkeiten" .  enter image description here
  • '+' → JARs oder Verzeichnisse und fügen Sie die JAR-Dateien in die\libs ein.

 enter image description here

  • Fügen Sie in der Datei gradle.build im Abschnitt Abhängigkeiten Folgendes hinzu:

    abhängigkeiten { kompilieren Sie Dateien ('libs/"nameOfJarFile" .jar') }  enter image description here

  • Obwohl dies nicht notwendig ist, empfiehlt es sich, den Cache zu annullieren und zu einem bestimmten Zeitpunkt erneut zu starten  enter image description here

0
Behrouz