2012-03-01 2 views
0

Я пытаюсь преобразовать свое приложение GWT для сборки с помощью maven. Первый вопрос, который у меня есть, заключается в том, что компилятору, похоже, не нравится «@WithTokenizers», который у меня есть в моем PlaceHistoryMapper, по крайней мере, это то, что я думаю, терпит неудачу, и если я прокомментирую это, приложение будет скомпилировано. Нужно ли мне добавить дополнительную конфигурацию в моем пом, чтобы заставить это работать? Он отлично компилируется в затмении или если я пытаюсь построить maven после того, как eclipse уже скомпилировал источник GWT.GWT Maven build with Place Аннотации

Вот исключение я получаю:

[ERROR] -> [Help 1] 
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin 
:2.3.2:compile (default-compile) on project product_ui_administration: Compilation failure 
\workspaces\java\product_ui_administration\src\main\java\com\company\product\ui\administration\AdminPlaceHistoryMapper.java:[13,0] illega 
l start of expression 

     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:213) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) 
     at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) 
     at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) 
     at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319) 
     at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) 
     at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) 
     at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) 
     at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 
     at java.lang.reflect.Method.invoke(Method.java:597) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409) 
     at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352) 
Caused by: org.apache.maven.plugin.CompilationFailureException: Compilation failure 
\workspaces\java\product_ui_administration\src\main\java\com\company\product\ui\administration\AdminPlaceHistoryMapper.java:[13,0] illega 
l start of expression 

     at org.apache.maven.plugin.AbstractCompilerMojo.execute(AbstractCompilerMojo.java:656) 
     at org.apache.maven.plugin.CompilerMojo.execute(CompilerMojo.java:128) 
     at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) 
     at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) 
     ... 19 more 
[ERROR] 

Вот мой AdminPlaceHistoryMapper интерфейс

// this annotation not working in mvn for some reason 
@WithTokenizers({ 
    UserDetailsPlace.Tokenizer.class, 
    UserPermissionsPlace.Tokenizer.class, 
    CompanyDetailsPlace.Tokenizer.class, 
}) 

public interface AdminPlaceHistoryMapper extends PlaceHistoryMapper { 
} 
+0

Пожалуйста, добавьте 'AdminPlaceHistoryMapper.java' файл. –

+0

добавлено AdminPlaceHistoryMapper.java – Vinnie

+0

Вы компилируете версию 1.5 JDK? (см. http://twit88.com/blog/2008/03/09/maven-compile-your-application-to-be-14-15-or-16-compatible/) –

ответ

1

Это оказался простой проблемой синтаксиса, что компилятор Eclipse, игнорировали, но Maven GWT компилятор помечено ,

From the "gwt-maven-plugin Users" Google Group

Это кажется довольно ясным для меня, это даже дает номер строки ...

Во всяком случае, вы не можете легально иметь запятых в конце списка Tokenizer , Это синтаксическая ошибка. Ваш компилятор Eclipse терпел его, но большинство других компиляторов этого не сделает.

-Jesse

+0

В качестве побочного элемента: если у вас есть объявление массива, законно иметь конечную запятую. Я думаю, что это в гомогенности ... – helios

Смежные вопросы