2016-06-15 20 views
0

Ich habe Spring-Boot-Anwendung (1.3.5.RELEASE), die als JAR-Datei verpackt ist, und ich möchte die JDBC-Treiber in einem externen Ordner libs haben. Also verwende ich den PropertiesLauncher, der nach externen JAR-Dateien sucht.Intellij Spring Boot PropertiesLauncher

Es funktioniert einwandfrei, wenn java -jar -Dloader.path=lib/ verwendet wird, funktioniert aber nicht in der Intellij IDE. Es ist ein Maven-Projekt, das in Intellij importiert wird.

Irgendwelche Hinweise für mich?

+0

Wie starten Sie Ihre App in Ihrer IDE? –

+0

Ich habe eine Laufkonfiguration dafür. Der Parameter 'loader.path' ist in der Datei application.properties enthalten und wird auch als VM-Option festgelegt. Es startet die Hauptklasse in meinem Projekt. –

+0

Wenn Sie "die Hauptklasse" sagen, meinen Sie die Hauptklasse Ihrer Anwendung oder 'PropertiesLauncher'? –

Antwort

1

Wenn Sie PropertiesLauncher verwenden, richtet es einen Klassenlader mit dem Inhalt der konfigurierten loader.path ein und verwendet dann diesen Klassenlader, um die Hauptklasse Ihrer Anwendung zu laden und aufzurufen. Wenn Sie die Hauptklasse Ihrer Anwendung direkt in Ihrer IDE starten, ist PropertiesLauncher nicht beteiligt, so dass die Systemeigenschaft loader.path keine Auswirkung hat.

Es ist möglich, PropertiesLauncher in Ihrer IDE zu verwenden, aber es erfordert ein wenig zusätzliche Konfiguration. Sie müssen eine Ausführungskonfiguration mit spring-boot-loader und Ihrer Anwendung für den Klassenpfad konfigurieren, der PropertiesLauncher startet. Sie können dann die Systemeigenschaft loader.main verwenden, um PropertiesLauncher den Namen der Hauptklasse Ihrer Anwendung anzugeben.

Verwandte Themen