0

GWT 2.3アプリケーションをwarファイルにパッケージ化して、weblogicサーバーにデプロイしたいと思います。このソリューションは、ANThttp://www.rubiconred.com/blog/build-package-a-gwt-app-to-war-using-ant/で見つかりまし。しかし問題がある。コンパイルターゲットがエラーをスローし、ANTが間違ったJavaバージョンを使用しているように見えます。しかし、Run As-> Ant Build ...-> JREを実行すると、バージョンは正しい(1.6.0_11)。したがって、この質問の解決策は機能しませんでした。そして、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 = "^.+\\..+@roche.com$", 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

だから私の質問は:

antのJavaバージョンが問題ですか?

または:

GWTアプリケーションをwarファイルにパッケージ化してからantスクリプトにパッケージ化する簡単な方法はありますか?私はいくつかのことを試みましたが、ネザーはうまくいきませんでした。

4

1 に答える 1

1

antのJavaバージョンが問題ですか?

いいえ
。クラスパス(具体的には、Bean Validation API、ICU4j、Apache Commons Lang、およびサーブレットAPI)から依存関係が欠落しているようです。

GWTアプリケーションをwarファイルにパッケージ化してからantスクリプトにパッケージ化する簡単な方法はありますか?私はいくつかのことを試みましたが、ネザーはうまくいきませんでした。

プロジェクトの構築方法によって異なります。すでにAntを使用している場合は、Antを使用してWARをパッケージ化します。Mavenを使用している場合は、Mavenを使用します。Makeを使用している場合は、Makeを使用します。シェルスクリプトを使用している場合は、それを続行します。ビルドスクリプトがなく、IDEのみに依存している
場合は、WARをパッケージ化するよりも深刻な問題が発生します。しかし、それでも、Eclipse内からそれを行うことができます(私はそれができることを知っていますが、方法はわかりません)。

于 2012-06-18T11:15:57.920 に答える