2017-02-22 9 views
0

のための単一の春ブーツWARプロジェクトをビルドします。 Project-BはSpringブートプロジェクトで、残りのAPI呼び出しを消費する操作をRestTemplateで定義します。 Project-Cは、私がいくつかのRESTサービスを公開しているSpringブートプロジェクトです。 2番目のプロジェクト(B)には、最初のプロジェクト(A)の依存関係が必要です。 3番目のプロジェクト(C)では、1番目と2番目のプロジェクト(A、B)の依存関係が必要です。私はそれぞれのプロジェクト(B、C)pomファイルでこれらの依存関係を定義しました。 3つのプロジェクトのパッケージタイプはすべてpomです。は、私は3つのプロジェクトを持って展開

ここでは、Tomcatサーバーに展開するための単一のSpringブートWARプロジェクトを作成します。私の目的は、他のすべてのプロジェクト(A、B、C)をカプセル化するこの単一のWARを持つことです。だから私は、この単一のWARを通じて休憩サービス(project-C)にアクセスできるようにしたいと考えています。

私は、包装タイプwarと春ブートプロジェクトを作成しようとした(project-Aproject-Bの依存関係を含ん)project-Cの依存関係を追加しましたが、私は理由の発生したWARファイルをデプロイすることはできませんよ。

SEVERE [localhost-startStop-1] org.apache.catalina.core.ContainerBase.addChildInternal ContainerBase.addChild: start: 
org.apache.catalina.LifecycleException: Failed to start component [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/mywarproject-war-0.0.1-SNAPSHOT]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 
     at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:752) 
     at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:728) 
     at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:734) 
     at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:952) 
     at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1823) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.catalina.LifecycleException: Failed to start component [[email protected]] 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:167) 
     at org.apache.catalina.core.StandardContext.resourcesStart(StandardContext.java:4842) 
     at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:4974) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 10 more 
Caused by: org.apache.catalina.LifecycleException: Failed to initialize component [[email protected]] 
     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:112) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:140) 
     at org.apache.catalina.webresources.StandardRoot.startInternal(StandardRoot.java:708) 
     at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150) 
     ... 13 more 
Caused by: java.lang.IllegalArgumentException: java.util.zip.ZipException: error in opening zip file 
     at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:113) 
     at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:107) 
     ... 16 more 
Caused by: java.util.zip.ZipException: error in opening zip file 
     at java.util.zip.ZipFile.open(Native Method) 
     at java.util.zip.ZipFile.<init>(ZipFile.java:219) 
     at java.util.zip.ZipFile.<init>(ZipFile.java:149) 
     at java.util.jar.JarFile.<init>(JarFile.java:166) 
     at java.util.jar.JarFile.<init>(JarFile.java:103) 
     at org.apache.catalina.webresources.AbstractSingleArchiveResourceSet.initInternal(AbstractSingleArchiveResourceSet.java:110) 

このアプローチをどのように処理できますか?

+0

WARファイルの名前は何ですか? –

+0

mywarproject-war-0.0.1-SNAPSHOT –

答えて

1

spring-boot-starter-web依存関係で、spring-boot-starter-tomcatの依存関係を除外して、あなたのpomにwarとしてSpring-Bootプロジェクトをパッケージ化する必要があります。

<packaging>war</packaging> 


    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
     <exclusions> 
      <exclusion> 
       <groupId>org.springframework.boot</groupId> 
       <artifactId>spring-boot-starter-tomcat</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 

REST-Servicesプロジェクト(これはあなたの場合はProject-C)で行う必要があります。

+0

これはTomcatのwarファイルのデプロイメントの問題を解決しましたが、Tomcatのrest-service(project-C)にアクセスしたいと思っています。私のwarファイルにはjavaコードは含まれていません。残りのサービス(プロジェクトC)の依存関係のみを含んでいます。 –

関連する問題