XML veya JSON (istek başlığına bağlı olarak) döndüren bir Jersey API'si geliştirdim. Windows 2012 sunucumda (Tomcat) konuşlandırıldığında sorun olmaz. Json'dan Jersey'den Linux'a Dönme Atak İstisnası
Ben dağıtmak
AWS (Glassfish) bir Ubuntu makinesine (Ubuntu üzerinde derleme sonra), ben JSON istediğinde ben aşağıdaki hataları alıyorum:The server encountered an internal error that prevented it from fulfilling this request.
exception javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.persistence.jaxb.BeanValidationHelper
root cause org.glassfish.jersey.server.ContainerException: java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.persistence.jaxb.BeanValidationHelper
root cause java.lang.NoClassDefFoundError: Could not initialize class org.eclipse.persistence.jaxb.BeanValidationHelper
Hata yok ben XML istediğinde.
Aslında JSON serileştirme için moxy kullanıyordum, ancak daha sonra Jackson'ı kullanmaya başladım.
Neden bir sunucu üzerinde çalışacak ve başka bir işe yaramayacağı hakkında bir fikrin var mı? Teşekkürler
Glassfish'in bir hatası olabilir. Lütfen [bu sayfa] bölümüne bakın (https://stackoverflow.com/questions/33722764/glassfish-error-when-producing-json). –
@KoheiTAMURA Evet Bunu gördüm. Şimdiye kadar düzeltmeleri gerektiğini düşündüm. Görünüşe göre değil ... – onefootswill
Tüm Jersey ile ilgili bağımlılıkları "sağlanan" olarak koyarsanız? Tomcat'in içinde Jersey kavanozları olmadığını unutmayın, bu yüzden çatışma yoktur. Ama Glassfish _does_ Jersey var. Yani proje kavanozlarınız çatışabilir. Bu yüzden onları Glassfish'e dağıtırken dağıtımdan çıkarmalısınız ve sadece Glassfish tarafından sağlananları kullanın. –