2014-10-02 14 views
6

Po skompilowaniu dużej definicji Protobuf otrzymuję plik kodu źródłowego Java o wielkości 6 MB.Protoc: Jak wygenerować wiele plików źródłowych Java?

Z powodu jego rozmiaru praca z tym plikiem jest bardzo trudna, ponieważ rozwijam się w Eclipse i Eclipse, gdy tylko otwieram ten plik.

Czy istnieje sposób na umożliwienie protokołowi generowania wielu plików kodu źródłowego Java zamiast jednego dużego pliku?

Odpowiedz

23

Rzeczywiście tak jest. To nie jest udokumentowane, ale można dodać linię do pliku .proto tak:

option java_multiple_files = true; 

To będzie umieścić każdy najwyższego poziomu typ wiadomości z pliku .proto do niezależnego .java pliku. Pamiętaj, że będziesz oczywiście musiał zaktualizować cały kod, aby zaimportować te klasy z nowych lokalizacji. Zauważ też, że protoc nadal będzie generował "zewnętrzną" klasę, którą zrobił wcześniej, bez wewnętrznych klas w niej zagnieżdżonych. Klasa zewnętrzna nadal jest miejscem, w którym można uzyskać deskryptor pliku, rozszerzenia najwyższego poziomu i inne rzeczy nieklasowane.

Wszystko to powiedziawszy, jeśli masz tak duży plik .proto, zdecydowanie zalecamy podzielenie pliku .proto na mniejsze pliki, które się nawzajem importują.

Powiązane problemy