REST APIを構築するために、約1か月間、Tomcatを組み込んだSpring Bootをテストしてきました。すべてが正常に機能していました。ここで、APIをいくつかの別の開発環境にデプロイします。 Tomcatコンテナで実行されている他の(Spring以外の)アプリケーションの。
Mavenを使用してSpring Boot JARアプリケーションをWARに変換する および Spring Boot Docs で指定された変更を行いました。
デプロイメントはうまくいき(ログは問題なく、エラーはありません)、Tomcatの管理を見ると、アプリケーションがデプロイされていることがわかります。しかし、curlで http:// localhost:8080/sophia/users にアクセスしようとすると、404になります。
どんな助けでも大歓迎です。
更新:
これが私のログです:
Netbeans:
NetBeans:Apache Tomcat 8.0.17へのデプロイプロファイルモード:falseデバッグモード:false強制再デプロイ:true
/home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAPSHOTでのインプレース展開
展開中です...
deploy?config = file%3A%2Ftmp%2Fcontext1845402702541504208.xml&path =/sophia
OK-コンテキストパス/ sophiaにアプリケーションをデプロイしました
開始中です...
start?path =/sophia
OK-コンテキストパス/ sophiaでアプリケーションを開始しました
Tomcat:
INFO 10:47:52:703 org.springframework.boot.context.embedded.ServletRegistrationBean-サーブレットをマッピング: 'dispatcherServlet' to [/ sophia/*]
INFO 10:47:54:042 org.springframework.boot.SpringApplication-8.285秒でアプリケーションを開始(JVMは12087.301で実行)
22-Jan-2015 10:47:54.060 INFO [http-nio-8080-exec-99] org.Apache.catalina.startup.HostConfig.deployDescriptor設定記述子の配備/ home/bugz/workspace/server/Apache-Tomcat- 8.0.17/conf/Catalina/localhost/sophia.xmlは12,091ミリ秒で終了しました
そして、カタリナlocalhostのsophia.xmlで:
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" docBase="/home/bugz/workspace/pdcore/sophiaserver/target/sophia-server-1.0.0-SNAPSHOT" path="/sophia"/>
アクセスしてみました
最初のコードは404を返しますが、私のCORSフィルターBeanからのCORS情報が含まれています。 2番目の戻り値はCORS情報なしの404です(アプリケーションが起動して構成されていることを示していますが、コントローラーにアクセスできないようです)。
check Java -versionは、Java 8で戦争を遵守し、TomcatがJava 7で実行されている場合、動作しません。
SpringBootServletInitializerを拡張して、configureメソッドをオーバーライドしてみましたか?述べたように ここ
コンテナー内でwarファイルとしてアプリを実行する場合と比較すると、jarファイルのエントリーポイントは[メインクラス]と異なります。
お役に立てれば。