Убедитесь, что у вас есть эта библиотека / jar и любой другой необходимый SOURCE, доступный по пути к классам, который вы передаете в GWT Compiler, поскольку он должен быть в состоянии найти исходный код Java внутри библиотек GWT, чтобы иметь возможность их компилировать,в отличие от компилятора Javac, который может компилироваться с библиотеками, используя только предоставленные файлы .class.
Вот мой макрос компиляции ant gwtc.(убрал начальный <
, чтобы избежать проблем с форматированием ...)
macrodef name="gwtCompileApplication" >
<attribute name="app" />
<attribute name="extraArgs" default="" />
<attribute name="gwtcExtras" default="" />
<sequential>
<java classpathref="gwtCompile.classpath" classname="com.google.gwt.dev.Compiler" fork="true" failonerror="true">
<jvmarg value="-Xmx512M" />
<arg value="-strict" />
<!-- Compile with -strict or with -logLevel set to TRACE or DEBUG to see all errors.
<arg value="-logLevel" />
<arg value="DEBUG" />
-->
<!-- request detailed, non-obfuscated JS output
<arg value="-style" />
<arg value="DETAILED" />
-->
<arg value="-localWorkers" />
<arg value="4" />
<arg value="-war" />
<arg value="${war.dir}" />
<arg value="-deploy" />
<arg value="deploy" />
<!-- These two lines have been removed as otherwise it won't work on Mac OS X
<arg value="@{extraArgs}" />
<arg value="@{gwtcExtras}" />
-->
<!-- This can be used to see more details about warnings, but they will be converted to errors and build will fail
<arg value="-strict" />
-->
<arg value="-logLevel" />
<arg value="INFO" />
<arg value="@{app}" />
</java>
</sequential>
</macrodef>
Это может быть вызвано из любой цели следующим образом: Цель для компиляции моего конкретного модуля под названием «Admin», где находится файл Admin.Файл gwt.xml находится внутри .ta.Admin. У меня есть тип отладочной и производственной сборки и файл .gwt.xml, отличающийся для каждого из них для ускорения компиляции для отладки (меньше пользовательских агентов и языков = меньше перестановок)
target name="gwtcAdmin" depends="compile, buildtype" description="GWT Compile Admin" >
<gwtCompileApplication app="com.bcntouch.ta.Admin.${build_type}_Admin" extraArgs="${gwtcArgs}" gwtcExtras="${gwtcExtras}"/>
</target>
Но ключевая часть, если я использую путь к классу компиляции GWT, вот цель, где я настраиваю свои пути:
target name="gwtPath">
<path id="gwt.classpath">
<pathelement location="${gwt.sdk.dir}/gwt-user.jar" />
<pathelement location="${gwt.sdk.dir}/gwt-servlet.jar" />
</path>
<!-- For GWT compile we need a path with source AND the GWT Compiler classes -->
<path id="gwtCompile.classpath">
<path refid="source.classpath" />
<!-- This is put after source, so GWT Compiler it doesn't pick up out of date versions of old css and uibinder
files in classes generated by Eclipse/GWT Plugin -->
<path refid="classpath" />
<path refid="tool.classpath" />
</path>
</target>