Сделал через antrun plugin.
Для продакш профиля все действо происходит в модуле ear.
<!--Патчим сериализаторы в jar'ках ear'ки для продакш сборки-->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-antrun-plugin</artifactId>
<version>1.6</version>
<executions>
<execution>
<id>repack</id>
<phase>package</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<target>
<!--разархивируем в спец папку-->
<unzip src="${project.build.directory}/ear${releasePostfix}/lib/gwt-user-${gwt.version}.jar"
dest="${project.build.directory}/ant/user"/>
<unzip src="${project.build.directory}/ear${releasePostfix}/lib/gwt-servlet-${gwt.version}.jar"
dest="${project.build.directory}/ant/servlet"/>
<unzip src="${project.build.directory}/ear${releasePostfix}/lib/iask-api-web-${version}.jar"
dest="${project.build.directory}/ant/apiweb"/>
<!--заменяем нужные классы-->
<copy file="${project.build.directory}/ant/apiweb/com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.class"
todir="${project.build.directory}/ant/user/com/google/gwt/user/client/rpc/core/java/sql/"
overwrite="true"/>
<copy file="${project.build.directory}/ant/apiweb/com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.class"
todir="${project.build.directory}/ant/servlet/com/google/gwt/user/client/rpc/core/java/sql/"
overwrite="true"/>
<!--собираем в джарки обратно-->
<zip basedir="${project.build.directory}/ant/user"
destfile="${project.build.directory}/ant/toEar/lib/gwt-user-${gwt.version}.jar"
update="true"/>
<zip basedir="${project.build.directory}/ant/servlet"
destfile="${project.build.directory}/ant/toEar/lib/gwt-servlet-${gwt.version}.jar"
update="true"/>
<!--обновление еарки-->
<zip basedir="${project.build.directory}/ant/toEar/"
destfile="${project.build.directory}/ear${releasePostfix}.ear"
update="true"/>
<delete dir="${project.build.directory}/ant"/>
</target>
</configuration>
</execution>
</executions>
</plugin>
Для девмода замена присходит обычным способом - создание в таком же path такого же файла (com/google/gwt/user/client/rpc/core/java/sql/Date_CustomFieldSerializer.class) и так как джарки gwt попадают в war приложения то ручной замены не требуется. А для продакшн режима джарки поставляются через provided и переопределиться кодом не могут, приходится в ручную распаковывать заменять.
Возможно есть и более изящный способ)