Wir haben eine Maven basierte Android bauen, und wir haben nur den Wechsel von JDK 6 bis 7IntelliJ Einfuhren Projekt aus POM mit falscher JDK Version
Das kam allerdings mit seinem Anteil von IntelliJ Problemen. Was passiert, ist, dass jedes Mal, wenn eine Änderung in der POM erfaßt und Re-Importe/frischen das Projekt, es kehrt in die alten „Modul SDK“ wählen, die eine, die verwenden Java 6 konfiguriert ist:
Auch wenn ich diese SDKs manuell im Dialogfeld "Plattformeinstellungen" lösche, erscheinen sie immer wieder als "Maven Android API 19 Platform (N)", wobei N die Nummer ist, mit der es von allen anderen (identischen) SDKs disambiguiert wird.
Ich sollte erwähnen, dass wir in der POM angeben, dass Java 7 Ziel ist. Ich habe versucht, sowohl das Compiler-Plugin Sprachniveau zu setzen und die maven.compiler.*
Eigenschaften (nicht sicher, ob das die gleiche Sache oder nicht erfüllt), ohne Glück:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
sollte nicht IntelliJ, dass abholen und immer das Projekt konfiguriert ein Java 7 SDK verwenden? Fehle ich etwas?
Ich bemerkte, dass das Problem verschwindet, wenn ich alle Referenzen auf 1.6 SDKs vollständig in IntelliJ entferne. Nicht überraschend, denke ich, aber auch nicht praktikabel, da ich andere Projekte habe, die immer noch auf das Vorhandensein eines Java 6 SDK angewiesen sind.
Nun, ich möchte es nicht jedes Mal manuell für jedes Untermodul ändern, wenn ich das POM neu lade ... klar, das ist dann ein Fehler in IntelliJ, wenn das nötig ist? – Matthias
Wenn Sie es und das Hauptmodul setzen, erben alle Kinder das. – StackFlowed
Das ist nicht das Problem. Das Problem ist, dass alle diese Dinge nach dem erneuten Importieren auf Java 6 zurückgesetzt werden. – Matthias