Dostaję następujący błąd, gdy próbuje utworzyć wystąpienie „Transacao”Xstream no-args błąd konstruktora
`Error: Cannot construct br.com.cbmp.ecommerce.resposta.Transacao as it does not have a no-args constructor : Cannot construct br.com.cbmp.ecommerce.resposta.Transacao as it does not have a no-args constructor `
---- Debugging information ----
message : Cannot construct br.com.cbmp.ecommerce.resposta.Transacao as it does not have a no-args constructor
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message : Cannot construct br.com.cbmp.ecommerce.resposta.Transacao as it does not have a no-args constructor `
class : br.com.cbmp.ecommerce.resposta.Transacao
required-type : br.com.cbmp.ecommerce.resposta.Transacao
path : /transacao
Zdaję sobie sprawę, że jest to błąd z XStream 1.3.1 i JDK7, ale Obecnie używam XStream 1.3.1 i JDK6. Jakieś pomysły, dlaczego ten błąd nadal występuje?
Dzięki
Czy twoja klasa ma konstruktor inny niż arg? Jeśli nie napiszesz konstruktora, użyje on konstruktora no-arg z 'Object', ale jeśli napiszesz konstruktor, to nie musisz podawać własnego konstruktora no-arg. – twain249
@ twain249 klasa rzeczywiście ma konstruktor z argumentami, co prowadzi mnie do pytania: czy naprawdę muszę utworzyć konstruktor no-arg? Muszę przekazać parametry, bo inaczej klasa nie zadziała.Jeśli dodasz konstruktor no-arg, wywoła ten konstruktor, a obiekt będzie niekompletny, w wyniku czego NullPointerException –
Jakiś czas temu miałem podobny problem z Dynamic Web Project, który chciał mi zdefiniować konstruktor no-args i raz zrobiłem wszystko wydawało się działać. Nie wiem dokładnie, dlaczego było to wymagane (zakładam, że gdy usługa REST próbowała utworzyć odpowiedź bez danych, do której została wywołana domyślnie), ale o ile mogę powiedzieć, że dodanie go nie wpłynęło na wydajność mojego kodu. Wszystko, co zrobiłem w konstruktorze, to "super()" – twain249