Ressourcen, die in einer Spring-Boot-Anwendung fehlen jar-Datei bei der Verwendung von Spring-Boot-Maven-Plugin
Bin ich mit Spring-Boot-v1.3.0.M5 mit Maven v3.3.3. Früher konnte ich meinen Spring-Boot (Boot) - Applikation von der Konsole aus, mit diesem Befehl.
mvn clean package spring-boot:run
Allerdings, musste ich revidiere meine pom.xml
zur Berücksichtigung der unterschiedlichen Umwelt baut. Insbesondere bin ich über Maven-profile so ändern Sie die Eigenschaften der Dateien des boot-Anwendung. Wenn ich jetzt führen Sie die zuvor genannten Befehl die boot-Anwendung nicht zum laufen und beschwert sich mit der folgenden Ausnahme.
Verursacht durch: java.lang.NumberFormatException: For input string: "${MULTIPART.MAXREQUESTSIZE}"
Ich habe eine properties-Datei befindet sich auf src/main/resources/config/application.properties
. Und diese properties-Datei hat eine Reihe von Schlüssel-Wert-Paare, die wie folgt aussieht.
multipart.maxFileSize=${multipart.maxFileSize}
multipart.maxRequestSize=${multipart.maxRequestSize}
Dann in meinem pom.xml
mein Aufbau ist wie folgt definiert.
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
<includes>
<include>**/*.properties</include>
</includes>
</resource>
<resource>
<directory>src/main/resources</directory>
<filtering>false</filtering>
<excludes>
<exclude>**/*.properties</exclude>
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
<profiles>
<!-- development -->
<profile>
<id>env-dev</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>env</name>
<value>dev</value>
</property>
</activation>
<properties>
<multipart.maxFileSize>250MB</multipart.maxFileSize>
<multipart.maxRequestSize>250MB</multipart.maxRequestSize>
</properties>
</profile>
<!-- staging -->
<profile>
<id>env-stg</id>
<activation>
<activeByDefault>false</activeByDefault>
<property>
<name>env</name>
<value>stg</value>
</property>
</activation>
<properties>
<multipart.maxFileSize>500MB</multipart.maxFileSize>
<multipart.maxRequestSize>500MB</multipart.maxRequestSize>
</properties>
</profile>
<profiles>
Bemerkte ich, dass, wenn ich in mvn clean package
und Blick in die jar
- Datei, die application.properties
- Datei innerhalb der jar-Datei.
Jedoch, wenn ich in mvn clean package spring-boot:run
, dann die applications.properties
Datei ist nicht innerhalb der jar-Datei. In der Tat, nichts unter src/main/resources
macht es in der jar-Datei.
Dieses problem ist ein wenig ärgerlich für mich, weil wenn ich will laufen meine boot-Anwendung von der Befehlszeile aus, ich habe zu tun, zwei Schritte, jetzt.
mvn clean package
java -jar ./target/app-0.0.1-SNAPSHOT.jar
Irgendwelche Ideen auf, was ich falsch mache?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Als in der Dokumentation beschrieben
mvn spring-boot:run
fügtsrc/main/resources
vor Ihren classpath zu unterstützen hot-reload standardmäßig. Sie können dies ausschalten leichtNote that a side effect of using this feature is that filtering of resources at build time will not work.
Irgendwelche Ideen? Ich wollte nicht die post eine neue Frage.false
jetzt zu Gunsten von den devtools plugin...Versuchen nur das :
FileNotFoundException: class path resource [config/custom-application.properties] cannot be opened because it does not exist
. Bitte beachten Sie, dass zusätzlich zu den Spring-Boot -application.properties
- Datei habe ich eine weitere Dateicustom-application.properties
auch in dersrc/main/resources/config
- Verzeichnis (bin ich eigentlich das laden dieser Datei-Eigenschaften manuell). Danke, aber das funktioniert nicht oder helfen. Wieder nichts insrc/main/resources
kopiert wird, in das Glas oder dietarget/classes
dir.