Spring Boot-Dateien hinzufügen zum Klassenpfad von der Ausführung über die Befehlszeile

Ich bin mit Netbeans 8.2 zu entwickeln, Spring-Anwendungen. Dieses spezielle app, mit dem ich bin Probleme ist eine Spring-Boot-1.5.3-app. Ich habe eine spring-xml-Datei und eine Anwendung.Eigenschaften, die ich halten in /config unter dem root-Verzeichnis der Projekte.

Bin ich vorbei an der spring-xml-Datei in mein Projekt über die @ImportResource annotation und eine value-Eigenschaft, wie @ImportResource(value="${config.xmlfile}").

Wenn ich auf das "Projekt Ausführen" - button in Netbeans meine Feder-app startet und es richtig findet Anwendung.Eigenschaften Datei in meinem /config-Ordner. Jedoch keine classpath-Referenzen auf andere Dateien in diesem Ordner sind verloren. Zum Beispiel, die Einstellung der config.xml Datei classpath:config/file.xml oder classpath:file.xml beide nicht zu finden die Datei aber file:config/file.xml funktioniert.

Ähnlich, beim ausführen von der Kommandozeile habe ich Folgendes als meine Struktur:

app/
|-- bin
|   `-- app-run.sh
|-- config
|   |-- application.properties
|   |-- log4j2.xml
|   |-- file.xml
`-- app-exec.jar

Ich bin mit der spring-boot-maven-plugin um das Glas wie folgt:

<plugin>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-maven-plugin</artifactId>
     <version>${spring.boot.version}</version>
     <executions>
          <execution>
               <goals>
                    <goal>repackage</goal>
               </goals>
               <configuration>
                    <classifier>exec</classifier>
               </configuration>
          </execution>
     </executions>
</plugin>

und meine app-run.sh script führt Folgendes aus:

exec /bin/java -cp :.:../config/*:../app-exec.jar 
-Dlogging.config=../config/log4j2.xml 
-Dspring.config.location=../config/application.properties 
-jar ../app-exec.jar

wo /bin/java repräsentiert den Ort, wo ich java installiert haben. Die classpath-Einstellung der cp scheint nicht zu sein, hier zu arbeiten. Ähnlich wie bei der Ausführung über die IDE einstellen config.xml Datei classpath:config/file.xml oder classpath:file.xml beide scheitern, die Datei zu finden aber file:../config/file.xml funktioniert.

Ich würde gerne in der Lage sein, um die classpath sowohl in der IDE und von der Kommandozeile aus, so dass ich Zugriff auf die Dateien im Frühjahr mit classpath Referenz Dinge einfacher zu machen. Ich will NICHT, um Sie alle in src/main/resources haben und Sie werden verpackt in das Glas, wie ich brauche, um diese zu Bearbeiten, nachdem die Verpackung und Bereitstellung.

Hat jemand irgendwelche Ideen oder hilfreiche Tipps? Vielen Dank im Voraus!

InformationsquelleAutor wrslatz | 2017-06-20
Schreibe einen Kommentar