2017-04-05 4 views
0

私はsystemjs設定で春ブートバージョン1.5.2.Release 角度2で働いているフロントエンドの Mavenは、以下の高レベルの構成で春ブーツ+ Tomcatの8.5.12 + Linuxの

のpom.xmlを構築

<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> 
     <exclusion> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-logging</artifactId> 
     </exclusion> 
     <exclusion> 
      <groupId>ch.qos.logback</groupId> 
      <artifactId>logback-classic</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-tomcat</artifactId> 
    <scope>provided</scope> 
</dependency> 

<plugin> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-maven-plugin</artifactId> 
    <configuration> 
     <fork>true</fork> 
     <skip>false</skip> 
    </configuration> 
    <executions> 
     <execution> 
      <goals> 
       <goal>repackage</goal> 
      </goals> 
     </execution> 
    </executions> 
</plugin> 
<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-surefire-plugin</artifactId> 
    <version>2.19.1</version> 
    <configuration> 
     <testFailureIgnore>true</testFailureIgnore> 
    </configuration> 
</plugin> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
    <start-class>mmm.his.empi.WebComponentApplication</start-class> 
</properties> 

Application.java

@SpringBootApplication 
@EnableJpaRepositories 
@EnableAutoConfiguration (exclude = {HibernateJpaAutoConfiguration.class}) 
@Import({ AppConfig.class, HibernateConfiguration.class, SwaggerConfig.class }) 
public class Application extends SpringBootServletInitializer{ 

    @Override 
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) { 
     return application.sources(applicationClass); 
    } 

    public static void main(String[] args) { 
     System.out.println("WebComponentApplication started... 7.10"); 
     SpringApplication.run(applicationClass, args); 
    } 

    private static Class<Application> applicationClass = Application.class; 
} 

この設定は、Windows上のTomcatデプロイメントでうまく動作します。私はTomcatで同じ戦争を展開するときしかし 、私はちょうど404を取得しています - Mavenの - - ノー リソースがROOT.war

  • META-INFエラー

  • 戦争体制に

    • を見つけましたMANIFEST
    • WEB-INF-classes-lib-lib-provided
    • org-springframework-boot-loader - (ローダークラス)

    クラスには、スプリングブートアプリケーションクラスとコントローラが含まれています。 classesフォルダにも、私は何が起こっているかわからない私はROOT.war としてのTomcatのルートコンテキストで私の戦争を展開しています

    Manifest-Version: 1.0 
    Implementation-Title: test-component 
    Implementation-Version: 0.0.1-SNAPSHOT 
    Built-By: XXX 
    Implementation-Vendor-Id: com.test.proj 
    Spring-Boot-Version: 1.5.2.RELEASE 
    Implementation-Vendor: Pivotal Software, Inc. 
    Main-Class: org.springframework.boot.loader.WarLauncher 
    Start-Class: com.test.proj.Application 
    Spring-Boot-Classes: WEB-INF/classes/ 
    Spring-Boot-Lib: WEB-INF/lib/ 
    Created-By: Apache Maven 3.3.9 
    Build-Jdk: 1.8.0_91 
    Implementation-URL: http://maven.apache.org 
    

    MANIFESTアンギュラアプリケーションのdistのフォルダが含まれていますここで間違っている。助けてください。

    答えて

    0

    この問題は解決しました。 実際には、Linuxマシン上でJDKの競合が発生します。私はJDK 1.8をインストールしていますが、環境変数はそのユーザーだけに設定します。私はROOTユーザとしてアプリを配備しました。私はそれが正しく動作するために再びROOTユーザーのために設定しなければなりませんでした。