Maven v3.3.3 で Spring-Boot v1.3.0.M5 を使用しています。以前は、このコマンドを使用してコンソールから Spring Boot (ブート) アプリケーションを実行できました。
mvn clean package spring-boot:run
pom.xml
ただし、さまざまな環境のビルドを考慮して修正する必要がありました。特に、Maven プロファイルを使用して、ブート アプリケーションのプロパティ ファイルを変更しています。前述のコマンドを実行すると、ブート アプリケーションの実行に失敗し、次の例外が表示されます。
原因: java.lang.NumberFormatException: 入力文字列の場合: "${MULTIPART.MAXREQUESTSIZE}"
にプロパティ ファイルがありますsrc/main/resources/config/application.properties
。そして、このプロパティ ファイルには、次のような一連のキーと値のペアが含まれています。
multipart.maxFileSize=${multipart.maxFileSize}
multipart.maxRequestSize=${multipart.maxRequestSize}
次にpom.xml
、私のビルドは次のように定義されます。
<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>
入力してファイルのmvn clean package
中を見ると、ファイルがjarの中にあることに気付きました。jar
application.properties
ただし、 と入力するmvn clean package spring-boot:run
と、applications.properties
ファイルはjar 内にありません。実際、src/main/resources
jarファイルには何も含まれていません。
コマンド ラインからブート アプリケーションを実行したい場合、ここで 2 つの手順を実行する必要があるため、この問題は私にとって少し面倒です。
mvn clean package
java -jar ./target/app-0.0.1-SNAPSHOT.jar
私が間違っていることについてのアイデアはありますか?