Компиляция знатока смешала Java + проект Groovy 1.7, с помощью gmaven-плагина

Согласно лучшим двум ответам в: отличные зависимости знатока. Я пытаюсь скомпилировать смешанный Java 6 + проект Groovy со Знатоком, с помощью GMaven-плагина от org.codehaus.gmaven. До вчерашнего дня мы использовали старое 1.6.0 версия Groovy (никогда не изменял его после того, как мы наконец получили его работа), но с тех пор 1.7.0 теперь стабильно, я думал, что мы переключимся на это.

Если только вещи были настолько просты.. Проблемы, с которыми я теперь встречаюсь, кажется, два, свернитесь:

  • Groovy 1.6 так или иначе все еще взят как значение по умолчанию. (как шоу в stacktrace ниже)
  • groovy:generateStubs останавливается с ошибкой сборки: Неожиданный узел: Узел [7:1,64, АННОТАЦИИ]

Делает любой знает, как решить вышеупомянутые две проблемы или может обеспечить рабочего англичанина для компиляции Java 6 код, смешанный с Groovy 1.7 код со Знатоком?

Существует большое путание / противоречащий / устаревшая документация относительно компиляции старых версий Groovy с помощью gmaven / groovy.maven / groovy.maven.gmaven, это действительно не помогает вещам прямо сейчас..

Для ссылки вот является часть моего pom.xml и Знатока-e выводом:


    
        org.codehaus.groovy
        groovy-all
        1.7.0
    


    
        
            org.codehaus.gmaven
            gmaven-plugin
            1.2
            
                
                    org.codehaus.gmaven.runtime
                    gmaven-runtime-1.7
                    1.2
                
                
                    org.codehaus.groovy
                    groovy-all
                    1.7.0
                
            
            
                
                    
                        generateStubs
                        compile
                        generateTestStubs
                        testCompile
                    
                
            
        
    

Stacktrace:

[INFO] ------------------------------------------------------------------------
[INFO] Building Client
[INFO]    task-segment: [clean, package]
[INFO] ------------------------------------------------------------------------
[INFO] [clean:clean {execution: default-clean}]
[INFO] [groovy:generateStubs {execution: default}]
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Unexpected node: Node[7:1,64,ANNOTATIONS]

[INFO] ------------------------------------------------------------------------
[INFO] Trace
org.apache.maven.lifecycle.LifecycleExecutionException: Unexpected node: Node[7:1,64,ANNOTATIONS]
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:719)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: org.apache.maven.plugin.MojoExecutionException: Unexpected node: Node[7:1,64,ANNOTATIONS]
        at org.codehaus.gmaven.plugin.MojoSupport.execute(MojoSupport.java:85)
        at org.codehaus.gmaven.plugin.stubgen.AbstractGenerateStubsMojo.execute(AbstractGenerateStubsMojo.java:60)
        at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
        at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
        ... 17 more
Caused by: org.codehaus.gmaven.runtime.support.stubgen.UnexpectedNodeException: Unexpected node: Node[7:1,64,ANNOTATIONS]
        at org.codehaus.gmaven.runtime.support.stubgen.parser.NodeSupport.ensure(NodeSupport.java:96)
        at org.codehaus.gmaven.runtime.support.stubgen.model.ModelFactorySupport.identifier(ModelFactorySupport.java:896)
        at org.codehaus.gmaven.runtime.support.stubgen.model.ModelFactorySupport.importDef(ModelFactorySupport.java:185)
        at org.codehaus.gmaven.runtime.support.stubgen.model.ModelFactorySupport.process(ModelFactorySupport.java:122)
        at org.codehaus.gmaven.runtime.support.stubgen.model.ModelFactorySupport.create(ModelFactorySupport.java:90)
        at org.codehaus.gmaven.runtime.support.stubgen.model.ModelFactorySupport.create(ModelFactorySupport.java:61)
        at org.codehaus.gmaven.runtime.v1_6.StubCompilerFeature$StubCompilerImpl.render(StubCompilerFeature.java:101)
        at org.codehaus.gmaven.runtime.v1_6.StubCompilerFeature$StubCompilerImpl.compile(StubCompilerFeature.java:90)
        at org.codehaus.gmaven.plugin.stubgen.AbstractGenerateStubsMojo.compile(AbstractGenerateStubsMojo.java:160)
        at org.codehaus.gmaven.plugin.stubgen.AbstractGenerateStubsMojo.process(AbstractGenerateStubsMojo.java:131)
        at org.codehaus.gmaven.plugin.ComponentMojoSupport.doExecute(ComponentMojoSupport.java:60)
        at org.codehaus.gmaven.plugin.MojoSupport.execute(MojoSupport.java:69)
        ... 20 more

32
задан Community 23 May 2017 в 12:24
поделиться

2 ответа

У меня была такая же проблема. Мне не хватало параметра конфигурации providerSelection для версии 1.7.

Попробуйте эту конфигурацию, и она вам подойдет.

  <plugin>
      <groupId>org.codehaus.gmaven</groupId>
      <artifactId>gmaven-plugin</artifactId>
      <version>1.2</version>
      <configuration> 
        <providerSelection>1.7</providerSelection> 
      </configuration> 
      <dependencies>
          <dependency>
            <groupId>org.codehaus.gmaven.runtime</groupId>
            <artifactId>gmaven-runtime-1.7</artifactId>
            <version>1.2</version>
            <exclusions>
              <exclusion>
                <groupId>org.codehaus.groovy</groupId>
                <artifactId>groovy-all</artifactId>
              </exclusion>
            </exclusions>
          </dependency>
          <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all</artifactId>
            <version>1.7.0</version>
          </dependency>
      </dependencies>
      <executions>
          <execution>
              <goals>
                  <goal>generateStubs</goal>
                  <goal>compile</goal>
                  <goal>generateTestStubs</goal>
                  <goal>testCompile</goal>
              </goals>
          </execution>
      </executions>
  </plugin>
24
ответ дан 27 November 2019 в 21:11
поделиться

Это работает и для меня с одним небольшим дополнением:

        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>

Может быть, есть способ сделать это по умолчанию?

{{1} }
6
ответ дан 27 November 2019 в 21:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: