2016-12-27 3 views
2

Ich versuche, die externe Eigenschaften Datei in Spring Boot mit Tomcat zu laden es funktioniert wie erwartet, während es in Lib-Ordner, aber ich kann nicht mit Weblogic-Server obwohl laden Ich habe die Datei application.properties in den lib-Ordner gestellt.Nicht in der Lage, externe Eigenschaften Dateien mit Springboot in weblogic zu laden

Code-Snippet:

 public class ApplicationFilesInitializer extends SpringBootServletInitializer implements WebApplicationInitializer { 

     @Override 
     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 

      return application.sources(Application.class).properties(getProperties()); 
     } 

     static Properties getProperties() { 
      Properties props = new Properties(); 
props.put("spring.config.location","classpath:{appname}-application.properties"); 
     return props; 
     } 

    } 
+0

Fest ohne genauer zu erzählen. Haben Sie den Code geschrieben, der die Datei mit den externen Eigenschaften gelesen hat? Kannst du es zeigen? –

+0

@StephaneNicoll: Ich habe Code hinzugefügt. –

+0

Also legen Sie eine Datei namens "appname-application.properties" in das lib-Verzeichnis und Sie erwarten, dass weblogic es sieht? Wenn ich das richtig verstanden habe, ist das wahrscheinlich eine Eigenschaft von Tomcat, aber Sie sollten sich nicht darauf verlassen. Stellen Sie sicher, dass sich diese Datei tatsächlich in dem Klassenpfad des Servers befindet. –

Antwort

2

So Below ist die Verbindung externe Eigenschaften zu laden Datei.

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-external-config.html

Der Code, den Sie wie unter lib Ordner arbeiten in tomcat teilen, ist die tatsächliche Classpath so wird es geladen werden, während die Server starten, aber es wird nicht mit WebLogic als weblogic Classpath arbeiten, ist User-Domain-Ordner und nicht der lib-Ordner.

Können Sie versuchen, die Datei application.properties in den Benutzerdomänenordner zu stellen, und es sollte funktionieren.

Finden Sie Ihren Benutzer Domain-Pfad in Weblogic und setzen Sie App. Dateien dort.

Unten ist der Code, den Sie Ihren WebLogic-Benutzer Domain-Pfad/Classpath finden:

String appDomianPath= System.getProperty("user.dir"); 
System.out.println(appDomianPath); 
+0

@Boot: Wie finde ich den Klassenpfad des Weblogic-Servers? –

+1

habe ich in der Antwort bearbeitet. Ich stimme auch @Stephane zu, dass Sie nicht dasselbe Verhalten wie Tomcat in weblogic erwarten sollten. Thumb-Regel sollten Ihre Dateien in Ihrem Klassenpfad sein. –

+1

Es funktioniert gut, nachdem app.prop Datei in meinem Klassenpfad (die eine Ebene über dem Ordner lib) ist. Danke @S Boot und StephaneNicoll für das Löschen meines Konzepts und für schnelle Hilfe. –

Verwandte Themen