2017-11-05 5 views
0

に展開したとき、私は春のブートアプリケーションを構築することだし、これは私のディレクトリ構造である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を訪問した後、私はNullPointerExceptionenv.getPropertyに取得しています。

なぜ私はtomcatにデプロイするのですか? TomcatにSpringブート戦争を展開するときにプロパティをロードするにはどうしたらいいですか?

+0

リソースがあなたのポンポンのファイルに埋め込まれたWebコンテナの依存性を除外していますか? – LHCHIN

+0

お話はありますか? – NEO

+0

@NEO少なくともコンパイルするコードを投稿してください!あなたの 'MyApplication'クラスはコンパイルされません。あなたは私たちにpomの依存関係を示す必要があります。 2. @Value( "$ {propertyname}") 'を使用してプロパティをバインドします。 – MohamedSanaulla

答えて

関連する問題