2017-04-05 2 views
0
내가 프런트 엔드 메이븐 빌드 에 대한 systemjs 설정으로 봄 부트 버전 1.5.2.Release 각도이 함께 일하고

높은 수준의 구성봄 부팅 + 톰캣 8.5.12 + 리눅스

의 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을 배포 할 때 잘 작동합니다. 내가 바람둥이에 같은 전쟁을 배포 할 때 , 난 그냥 404를 얻고있다 - 없음 자원에 오류가

에게 전쟁의 구조

  • 발견 ROOT.war
  • META-INF - 메이븐 - MANIFEST
  • WEB-INF-classes-lib-lib-provided
  • org-springframework-boot-loader - (로더 클래스)

클래스에는 스프링 부팅 응용 프로그램 클래스와 컨트롤러가 포함되어 있습니다. 클래스 폴더는 내가 무슨 일이 일어나고 있는지 확실하지 않다 나는 ROOT.war 로 톰캣의 루트 컨텍스트에서 내 전쟁을 배포하고

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

이 문제가 해결되었습니다. 실제로 리눅스 머신에서 JDK가 충돌합니다. JDK 1.8을 설치했지만 사용자에게만 환경 변수를 설정합니다. 하지만 난 루트 사용자로 응용 프로그램을 배포했습니다. 제대로 작동하려면 ROOT 사용자를 위해 다시 설정해야했습니다.