Bir veri erişim nesnesi jOOQ kullanılarak yazılmıştır var ve oldukça karmaşık tür imzayı döndürür: Ben çalıştırdığınızdaLombok'un vali tarafından çıkarılacak bir türün karmaşıklığı için bir sınır var mı?
Map<Record, Result<Record14<String, Integer, String, String, String, String, String, String, Integer, String, Boolean, Boolean, Integer, Boolean>>> result = create....
Ben Lombok yönettiği "val" ile değiştirmek çalıştı
val result = create....
Bu işleri/Ben Gradle içinde derlemeye çalıştığınızda Eclipse ... dan derlemek, alıyorum:
UpdatesDAO.java:307: error: incompatible types
.fetchGroups(key);
^
required: val
found: Map<Record,Result<Record14<String,Integer,String,String,String,String,String,String,Integer,String,Boolean,Boolean,Integer,Boolean>>>
herkes Can Daha basit tipler için Gradle'da neden çalışacağını söyle, ancak daha karmaşık tipler için değil? Ben şuna benzer bu aynı projede başka yerler var:
val records = dao.getDatastoreById(id); // Returns a type of List<Datastore>
ve Gradle ile derlenmiş bile ... Ben bir şey eksik, sadece iyi çalışır? Bilginize
: Lombok version = 1.14.8, Gradle sürüm 2.2.1Ben lombok == 1.14.6 denedi, Gradle sürüm 2.2.0
Ben de Java 8 ve ikisi ile çalıştık Java 7, hem OpenJDK ve Oracle JDK
Soru: Neden ondört jenerik türlerini gerektirir mi? Bu bir kod her şeyden daha çok kokuyor ... – Makoto
Bunu jOOQ insanlarıyla ve veritabanı etkileşimlerini nasıl yapmaları gerektiğine inanıyorum ... Bir kod kokusu olsun olmasın, bu biraz mantıklı. Eclipse derlerken çalışacak ve Gradle'dan derleme sırasında çalışmaz .. –
@Makoto: Çoğu zaman, bu türler yalnızca jOOQ'nun akıcı API'sindeki sahnelerin arkasında kullanılır ve derleyici tarafından çıkarılır. –