2013-02-05 10 views
5

Podczas konfigurowania projektu mieszanego java7/groovy2 w maven lub gradle, czy istnieje jakakolwiek przyczyna kompilacji najpierw javac, a potem groovyc, po prostu pozwalając groovycowi poradzić sobie z tym wszystkim?Czy istnieje jakiś powód, aby używać javac zamiast groovyc w projekcie mieszanego kodu?

Zacząłem kompilowanie ich oddzielnie i we własnych drzewach (src/main/java i src/main/groovy), jak sugeruje najlepsza praktyka. Jednak, ponieważ java i groovy są używane do rozwiązania tego samego problemu i są tak przeplatane, teraz jestem skłonny do zrzucenia całego mojego źródła do src/main/groovy i umożliwienia komplikatorowi kompilowania zarówno plików .java, jak i .groovy. Wydaje się, że łatwiej jest śledzić projekt, patrząc na drzewo źródłowe. Czy są jakieś wady?

+0

Ciekawe, nie wiedziałem, że 'groovyc' jest zdolny do tego. Martwiłbym się tylko o kod bajtowy, który dostajesz podczas tego. –

+0

Udało mi się znaleźć kilka możliwych dokumentów na stronie: http://groovy.codehaus.org/Groovy-Eclipse++++++++++++++Maven i http://groovy.codehaus.org/The+groovyc+Ant+ Zadanie Jednak wydają się być specyficzne dla implementacji. –

+0

Z doświadczenia z Groovy 1.8 pod kompilacją Gradle kompilowanie plików * .java z wtyczką Groovy tworzy normalne klasy Java bez mieszania funkcji Groovy. (ExpandoMetaClass nie miało wpływu na czyste klasy Java skompilowane w ten sposób, na przykład.) Możliwe jest kod bajtowy może się nieznacznie różnić, ale nie zauważyliśmy żadnych różnic, kiedy przestawiliśmy się z kompilacji Java na kompilację Groovy i w razie potrzeby zaczęliśmy przenosić sprawy do Groovy. –

Odpowiedz

Powiązane problemy