に展開したとき、私は春のブートアプリケーションを構築することだし、これは私のディレクトリ構造であるNPEを投げています次のオートワイヤーコードでうまくいく:Autowireは、Tomcat
@ServletComponentScan
@SpringBootApplication
public class MyApplication {
@Autowired
private Environment env;
this.env.getProperty("test");
}
他のクラスと同じ方法でロードされます。これは、次のようにアプリケーションを実行すると正常に動作します。
mvn spring:boot run
またはIntelliJから直接問題なし。
war
WEB-INF
lib
classses
com
log4j2.xml
application.properties
org
META-INF
とTomcatでそれを展開:しかし、私は次のような内容になりmvn clean install
を使用してWARをパッケージ化しようとしました。アプリケーションのURLを訪問した後、私はNullPointerException
をenv.getProperty
に取得しています。
なぜ私はtomcatにデプロイするのですか? TomcatにSpringブート戦争を展開するときにプロパティをロードするにはどうしたらいいですか?
リソースがあなたのポンポンのファイルに埋め込まれたWebコンテナの依存性を除外していますか? – LHCHIN
お話はありますか? – NEO
@NEO少なくともコンパイルするコードを投稿してください!あなたの 'MyApplication'クラスはコンパイルされません。あなたは私たちにpomの依存関係を示す必要があります。 2. @Value( "$ {propertyname}") 'を使用してプロパティをバインドします。 – MohamedSanaulla