2017-11-04 9 views
0

Java로 Vaadin 응용 프로그램을 빌드 중입니다. 다음은 폴더 구조입니다.원격 서버에서 Vaadin 응용 프로그램을 실행할 수 없습니다.

- com 
-- my 
--- WebTool 
---- ToolUI.java 
---- View_1.java 
---- View_2.java 

애플리케이션 진입 점은 ToolUI.java이고있어서 초기화 파라미터로 VaadinRequest 소요()있다. 이 파일에서보기를 Views_1보기 2보기로 추가하고 해당 항목 사이에 탐색을 추가합니다. Eclipse IDE를 통해 애플리케이션을 실행할 때 모든 것이 잘 돌아 간다.

이제이 응용 프로그램을 원격 서버에 배포해야한다는 요구 사항이 있습니다. 그래서 프로젝트의 전쟁을 만들고 서버에 MyWebTool.war이라는 이름으로 배포했습니다. 이제

나는 명령

java -jar MyWebTool.war 

그것은 나에게 오류 제공과 전쟁을 실행하려고하면 이 MyWebTool.war에서, 전쟁없는 주요 마니 페스트 속성

내가 아니다 실행할 수 없습니다를 init 메소드가 호출되고 앱이 실행되도록 설정 한 이후 메인 클래스를 추가 할 항목이 무엇인지 확인하십시오. 그래서 MyWebToolUI.java 안에 빈 main 함수를 넣고이 의존성을 pom.xml 파일에 추가했습니다.

<plugin> 
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.6</version> 
    <configuration> 
     <archive> 
      <manifest> 
       <addClasspath>true</addClasspath> 
       <mainClass>com.my.WebTool.ToolUI</mainClass> 
      </manifest> 
     </archive> 
     <failOnMissingWebXml>false</failOnMissingWebXml> 
     <!-- Exclude an unnecessary file generated by the GWT compiler. --> 
     <packagingExcludes>WEB-INF/classes/VAADIN/widgetsets/WEB-INF/**</packagingExcludes> 
    </configuration> 
</plugin> 

하지만 지금

찾거나 사람이을 밝혀 주시겠습니까 메인 클래스 com.my.WebTool.ToolUI

를로드 할 수 없습니다라는 응용 프로그램을 실행하려고 할 때? 내가 여기에 간단한 것을 놓치고 있는지 나는 모른다. 그러나이 시점에서 나는 갇혀있다. 고마워.

답변

1

전쟁 패키지 응용 프로그램을 실행하려면 servlet container이 필요합니다. 서블릿 컨테이너는 Java 기반 웹 응용 프로그램을 실행하는 데 필요한 모든 기본 인프라를 제공합니다.

가장 일반적인 방법 중 하나는 deploy에 war 파일을 tomcat 설치하는 것입니다.

+0

감사합니다. 이것은 효과가있다! – Kunwar