2012-06-18 1 views
0

내 GWT 2.3 응용 프로그램을 war 파일에 패키지로 만들고이를 weblogic 서버에 배포하려고합니다. ANT http://www.rubiconred.com/blog/build-package-a-gwt-app-to-war-using-ant/으로이 솔루션을 찾았습니다. 하지만 문제가 있습니다. 컴파일 대상에서 오류가 발생하고 ANT가 잘못된 Java 버전을 사용하고있는 것처럼 보입니다. 하지만 Run As -> Ant Build ... -> JRE 버전이 맞습니다 (1.6.0_11). 그래서 this 질문의 해결책이 작동하지 않았습니다. 그리고 아직 자바 버전이 문제인지 잘 모르겠습니다.전쟁에 대한 GWT 패키징 : Ant에 잘못된 Java 버전이 있습니까?

콘솔 출력은 다음과 같습니다

Buildfile: C:\projects\logdashboard\LogDashboard\warbuilder.xml 
prepare: 
compile: 
    [javac] Compiling 124 source files to C:\projects\logdashboard\LogDashboard\build 
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\dto\ApplicationDto.java:22: package javax.validation.constraints does not exist 
    [javac] import javax.validation.constraints.Pattern; 
    [javac]         ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\dto\UserDto.java:20: package javax.validation.constraints does not exist 
    [javac] import javax.validation.constraints.Pattern; 
    [javac]         ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\ValidatorFactory.java:18: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: package javax.validation 
    [javac] import javax.validation.Validator; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\ValidatorFactory.java:36: cannot access javax.validation.ValidatorFactory 
    [javac] class file for javax.validation.ValidatorFactory not found 
    [javac] public class ValidatorFactory extends AbstractGwtValidatorFactory { 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\ValidatorFactory.java:71: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: class com.roche.research.logdashboard.client.ValidatorFactory 
    [javac]  public interface GwtValidator extends Validator { 
    [javac]           ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\activity\ApplicationAddPresenter.java:22: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: package javax.validation 
    [javac] import javax.validation.ConstraintViolation; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\activity\ApplicationAddPresenter.java:23: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: package javax.validation 
    [javac] import javax.validation.Validator; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationAddViewImpl.java:25: cannot find symbol 
    [javac] symbol : class Validation 
    [javac] location: package javax.validation 
    [javac] import javax.validation.Validation; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationEditViewImpl.java:25: cannot find symbol 
    [javac] symbol : class Validation 
    [javac] location: package javax.validation 
    [javac] import javax.validation.Validation; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserAddViewImpl.java:23: cannot find symbol 
    [javac] symbol : class Validation 
    [javac] location: package javax.validation 
    [javac] import javax.validation.Validation; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserEditViewImpl.java:23: cannot find symbol 
    [javac] symbol : class Validation 
    [javac] location: package javax.validation 
    [javac] import javax.validation.Validation; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:23: package com.ibm.icu.text does not exist 
    [javac] import com.ibm.icu.text.SimpleDateFormat; 
    [javac]      ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\LogFileUtil.java:22: package org.apache.commons.lang.time does not exist 
    [javac] import org.apache.commons.lang.time.DateUtils; 
    [javac]         ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\AutoinjectingRemoteServlet.java:19: package javax.servlet does not exist 
    [javac] import javax.servlet.ServletConfig; 
    [javac]     ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\AutoinjectingRemoteServlet.java:20: package javax.servlet does not exist 
    [javac] import javax.servlet.ServletException; 
    [javac]     ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\AutoinjectingRemoteServlet.java:38: cannot access javax.servlet.http.HttpServlet 
    [javac] class file for javax.servlet.http.HttpServlet not found 
    [javac] public class AutoinjectingRemoteServlet extends RemoteServiceServlet { 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\AutoinjectingRemoteServlet.java:55: cannot find symbol 
    [javac] symbol : class ServletConfig 
    [javac] location: class com.roche.research.logdashboard.shared.AutoinjectingRemoteServlet 
    [javac]  public void init(ServletConfig config) throws ServletException { 
    [javac]     ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\AutoinjectingRemoteServlet.java:55: cannot find symbol 
    [javac] symbol : class ServletException 
    [javac] location: class com.roche.research.logdashboard.shared.AutoinjectingRemoteServlet 
    [javac]  public void init(ServletConfig config) throws ServletException { 
    [javac]             ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\ValidationUtil.java:43: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: class com.roche.research.logdashboard.shared.ValidationUtil<T> 
    [javac]  public String getErrorMessage(Set<ConstraintViolation<T>> violations) { 
    [javac]          ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\dto\ApplicationDto.java:46: cannot find symbol 
    [javac] symbol : class Pattern 
    [javac] location: class com.roche.research.logdashboard.shared.dto.ApplicationDto 
    [javac]  @Pattern(regexp = "^(http|ftp|https){1}://.*$", message = "This is no correct url.") 
    [javac] ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\shared\dto\UserDto.java:47: cannot find symbol 
    [javac] symbol : class Pattern 
    [javac] location: class com.roche.research.logdashboard.shared.dto.UserDto 
    [javac]  @Pattern(regexp = "^.+\\[email protected]$", message = "This is no roche email adresse.") 
    [javac] ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\ValidatorFactory.java:40: method does not override or implement a method from a supertype 
    [javac]  @Override 
    [javac] ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\activity\ApplicationAddPresenter.java:118: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: class com.roche.research.logdashboard.client.activity.ApplicationAddPresenter 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\activity\ApplicationAddPresenter.java:119: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: class com.roche.research.logdashboard.client.activity.ApplicationAddPresenter 
    [javac]   Set<ConstraintViolation<ApplicationDto>> violations = validator.validate(applicationDto); 
    [javac]   ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationAddViewImpl.java:174: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: class com.roche.research.logdashboard.client.view.ApplicationAddViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationAddViewImpl.java:174: cannot find symbol 
    [javac] symbol : variable Validation 
    [javac] location: class com.roche.research.logdashboard.client.view.ApplicationAddViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]        ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationAddViewImpl.java:175: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: class com.roche.research.logdashboard.client.view.ApplicationAddViewImpl 
    [javac]   Set<ConstraintViolation<ApplicationDto>> violations = validator.validateProperty(application, "url"); 
    [javac]   ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationEditViewImpl.java:182: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: class com.roche.research.logdashboard.client.view.ApplicationEditViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationEditViewImpl.java:182: cannot find symbol 
    [javac] symbol : variable Validation 
    [javac] location: class com.roche.research.logdashboard.client.view.ApplicationEditViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]        ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\ApplicationEditViewImpl.java:183: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: class com.roche.research.logdashboard.client.view.ApplicationEditViewImpl 
    [javac]   Set<ConstraintViolation<ApplicationDto>> violations = validator.validateProperty(application, "url"); 
    [javac]   ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserAddViewImpl.java:149: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: class com.roche.research.logdashboard.client.view.UserAddViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserAddViewImpl.java:149: cannot find symbol 
    [javac] symbol : variable Validation 
    [javac] location: class com.roche.research.logdashboard.client.view.UserAddViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]        ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserAddViewImpl.java:150: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: class com.roche.research.logdashboard.client.view.UserAddViewImpl 
    [javac]   Set<ConstraintViolation<UserDto>> violations = validator.validateProperty(user, "email"); 
    [javac]   ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserEditViewImpl.java:155: cannot find symbol 
    [javac] symbol : class Validator 
    [javac] location: class com.roche.research.logdashboard.client.view.UserEditViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserEditViewImpl.java:155: cannot find symbol 
    [javac] symbol : variable Validation 
    [javac] location: class com.roche.research.logdashboard.client.view.UserEditViewImpl 
    [javac]   Validator validator = Validation.buildDefaultValidatorFactory().getValidator(); 
    [javac]        ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\client\view\UserEditViewImpl.java:156: cannot find symbol 
    [javac] symbol : class ConstraintViolation 
    [javac] location: class com.roche.research.logdashboard.client.view.UserEditViewImpl 
    [javac]   Set<ConstraintViolation<UserDto>> violations = validator.validateProperty(user, "email"); 
    [javac]   ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:50: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGFILE_EXTENSION_DATE_PATTERN")); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:50: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGFILE_EXTENSION_DATE_PATTERN")); 
    [javac]          ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:67: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGFILE_EXTENSION_DATE_PATTERN")); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:67: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGFILE_EXTENSION_DATE_PATTERN")); 
    [javac]          ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:78: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGLINE_DATE_PATTERN")); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:78: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGLINE_DATE_PATTERN")); 
    [javac]          ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:95: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGLINE_DATE_PATTERN")); 
    [javac]  ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\DateUtil.java:95: cannot find symbol 
    [javac] symbol : class SimpleDateFormat 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.DateUtil 
    [javac]   SimpleDateFormat format = new SimpleDateFormat(ServerProp.get().getProperty("LOGLINE_DATE_PATTERN")); 
    [javac]          ^
    [javac] C:\projects\logdashboard\LogDashboard\src\main\java\com\roche\research\logdashboard\server\domain\logparser\LogFileUtil.java:65: cannot find symbol 
    [javac] symbol : variable DateUtils 
    [javac] location: class com.roche.research.logdashboard.server.domain.logparser.LogFileUtil 
    [javac]      || DateUtils.isSameDay(logFile.getDate(), since)) { 
    [javac]      ^

BUILD FAILED 
C:\projects\logdashboard\LogDashboard\warbuilder.xml:31: Compile failed; see the compiler error output for details. 

Total time: 7 seconds 

그래서 내 질문은 :

가 개미 문제에서 Java 버전인가?

또는

:

는 전쟁 파일에 GWT 응용 프로그램, 개미 스크립트를 포장하는 쉬운 방법이 있나요? 몇 가지 시도했지만, nether 작동하지 않았다.

답변

1

Java 버전이 문제입니까?

번호
당신은 클래스 경로 (특히 콩 검증 API, ICU4J, 아파치 코 몬즈 랭과 서블릿 API)에서 종속성을 놓치고있는 것 같습니다 .

GWT 응용 프로그램을 war 파일에 패키지화하는 쉬운 방법이 있습니까? 그렇다면 개미 스크립트? 나는 몇 가지 시도했지만, nether 작동하지 않았다.

프로젝트를 작성하는 방법에 따라 다릅니다. Ant를 이미 사용하고 있다면 Ant를 사용하여 WAR를 패키징하십시오. Maven을 사용한다면, Maven을 사용하십시오; Make를 사용한다면 Make를 사용하십시오; 쉘 스크립트를 사용하고 있다면 계속 진행하십시오.
빌드 스크립트가없고 IDE에만 의존하는 경우 WAR 패키징보다 더 심각한 문제가 있습니다. 그러나 여전히 Eclipse에서이 작업을 수행 할 수 있습니다 (이 작업을 수행 할 수 있음을 알고 있지만 어떻게 작동하는지 알지 못합니다).

+0

war/WEB-INF/lib 폴더에 gwt-user.jar, gwt-dev.jar 및 validation-api-1.0.0.GA.jar를 추가하고 컴파일 대상이 작동하는지 확인합니다. – SCBoy

+0

어, 오! ** gwt-user 또는 gwt-dev를 WEB-INF/lib에 넣지 마십시오! ** 서버 측에서 Apache Commons Lang과 ICU4j를 사용하고 있다면, JAR 파일을 가져 와서 그곳에. 그리고 GWT-RPC를 사용할 때 gwt-servlet.jar를 WEB-INF/lib에 넣으십시오. –