2011-06-08 16 views
6

Jestem całkiem nowy w ScalaTest, a teraz, gdy mam go uruchomionego z Mavenem, oczywiście chciałbym, aby działał również dobrze w środowisku Eclipse. Mój projekt to projekt Java, ale chcę poprawić swoje umiejętności Scala, pisząc testy za pomocą ScalaTest.ScalaTest w projekcie Java Eclipse

Zrozumiałem, że powinienem kliknąć prawym przyciskiem myszy na mój projekt, powiedzieć "Konfiguruj" i "Dodaj Scala Nature". Dzięki temu Eclipse próbuje skompilować wszystkie moje pliki Java za pomocą skalaca, co daje mi wiele wpisów "Problem z Scalą" na liście problemów. Oczywiście, nie posiadanie natury Scala daje mi dużo "problemów z Javą" w moim projekcie dla wszystkich moich plików Scala. Jak mogę dodać naturę Scala tylko do src/test/scala?

Cheers

Nik

+0

Myślę, że mam projekt zaćmienie, który zawiera mieszankę plików Java i Scala i działa dobrze ... Mogłem mieć, a przy użyciu maven należy i tak mieć src/java/main i src/scala/główne foldery . –

+1

Po zmieszaniu Java/Scala, scalac _must_ powinien być użyty w obu plikach '.java' i' .scala', aby rozwiązać zależności, a następnie uruchamia javac, aby faktycznie skompilować '.java', z katalogiem docelowym w classpath, dzięki czemu może znaleźć pliki kompilowane przez skalak. Chodzi o to, że skalak działający na plikach '.java' nie powinien powodować problemów. –

+0

@Daniel Dzięki, że mnie powiadomiłeś. Co ciekawe, pomyślałem, że to dlatego, że próbowałem skompilować je jako pliki scala, ale jeśli ma to zrobić i powinno pójść dobrze, włączę to ponownie i prawdopodobnie otworzę wątek na błędach, które mi daje – niklassaers

Odpowiedz

2

Może najprostsze rozwiązanie (w kontekście, czyli klasyczny projekt Java, bez M2Eclipse oraz projekt Maven) byłoby mieć dwa oddzielne projekty:

  • jeden tylko z Java Nature
  • jeden z naturą scala dla tst.

Ponieważ można link a directory in your second project, nie trzeba przenosić źródeł testów (src/test/scala) z istniejącego zestawu plików.
Należy tylko wykluczyć src/test/scala z dowolnej kompilacji w pierwszym projekcie (tylko Java).

+0

To jest rzeczywiście proste rozwiązanie, o którym nie myślałem. :-) Sądziłem, że powinienem móc mieszać Javę i Scalę. Dam to zawirować i zgłoś się :-) – niklassaers

Powiązane problemy