Wie man Intellij zu erkennen, - Eigenschaften in der Anwendung.yml
Ich versuche, Intellij, zu erkennen, meine Eigenschaften, die mit gradle. Ich folgte den Schritten,hier. Also das heißt ich habe eine @ConfigurationProperties
annotierten Klasse mit einigen Eigenschaften.
Habe ich den Frühling Abhängigkeit zu verarbeiten:
dependencies {
optional "org.springframework.boot:spring-boot-configuration-processor"
}
compileJava.dependsOn(processResources)
Habe ich noch das plugin (ich habe versucht nicht über das plugin und es einen compile-Abhängigkeit, keine änderung)
buildscript {
repositories {
maven { url 'http://repo.spring.io/plugins-release' }
}
dependencies { classpath 'io.spring.gradle:propdeps-plugin:0.0.9.RELEASE' }
}
apply plugin: 'propdeps'
apply plugin: 'propdeps-maven'
apply plugin: 'propdeps-idea'
Wenn ich das bauen, sehe ich ein build/classes/java/main/META-INF/spring-configuration-metadata.json
- Datei wird erstellt, basierend auf meiner Eigenschaften.
Wenn ich versuche, verwenden Sie die Eigenschaft entweder application.yml
oder application.properties
, Intellij sagt, es kann nicht, es zu lösen.
Den docs sagt, dass es genannt werden sollte additional-spring-configuration-metadata.json
und kann erwarten, dass es aufgerufen werden, um es zu verarbeiten, aber ich sehe nicht ein Weg, um den build-Namen, die es so noch konfigurieren Intellij etwas anderes zu erwarten.
Hat jemand diese arbeiten mit gradle? Oder ist das ein bug.
Bearbeiten ich erstellte eine repo mit ein paar Projekten, um dies zu demonstrieren. Eine für gradle und eine für maven. Ich habe die Projekte aus starten.Frühling.io und im Grunde nur ergänzt den Eigenschaften-Konfiguration. Ich habe auch eine gerade compile-Abhängigkeit in beiden Fällen statt optional /compileOnly.
Hatte ich nicht bestätigt, dies vor, aber die code-Vervollständigung funktioniert für maven, aber nicht gradle. Beide erstellen eine spring-configuration-metadata.json
im META-INF
in Ihren jeweiligen build-Ordner. Ich bin mir nicht genau sicher, wer ist nicht Kommissionierung es.
Misc relevanten Versionen
Intellij: 2017.3.4
Springboot: 1.5.9
Gradle: 4.4.1
Java: 8.161
- sind Sie über community-edition ?
- NÖ, mit der kompletten edition von Intellij
Du musst angemeldet sein, um einen Kommentar abzugeben.
delegate IDE build/run actions to Gradle
, aber das bringt mich auf die richtige Spur. Wenn ich delegieren, und ändern Sie die build-Ordner zu schauen, wie das, was die oben erzeugt, es funktioniert. Also das klingt wie etwas, Intellij beheben könnte.Soweit ich das beurteilen kann, IntelliJ (zum Zeitpunkt des Schreibens dieses Artikels, 2018.1.2) will das
spring-configuration-metadata.json
Datei entweder in einen Haupt-source root (src/main/resources/META-INF/or src/main/java/META-INF/
) oder in Ihrem Standard-Ausgabe-Verzeichnis, um ihn abzuholen für die autokomplettierung von Eigenschaften, die in deinem source-tree. Erweitern phospodka Kommentar, Sie können etwas hinzufügen, wie diese zu Ihr aufzubauen.gradle zu befriedigen IntelliJ.