Это мой первый вопрос, но я искал решение в течение 2 дней, без успеха. В моем проекте, у меня есть User
сущность с переходным свойством:Spring-boot + Hibernate + JPA с переходными полями
@Transient
@JsonProperty
private List<String> files;
У меня нет сеттера и геттер:
public List<String> getFiles() {
/* Call one static method */
}
Выполнение приложения с NetBeans в отладке, работает отлично, и из javascript я могу получить результаты getFiles, используя user.fotos
. Но когда я генерировать файл .jar, и я запустить приложение с помощью команды java -jar app.jar
, путем вызова одной функции Rest, который должен возвращать один User
объект, я получаю это исключение:
2015-10-28 14:39:35.963 WARN 27836 --- [nio-7777-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Failed to write HTTP message: org.springframework.http.converter.HttpMessageNotWritableException: Could not write content: (was java.lang.NullPointerException) (through reference chain: com.pfc.soriano.wsdbmodel.entity.User["files"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.pfc.soriano.wsdbmodel.entity.User["files"])
2015-10-28 14:39:35.963 WARN 27836 --- [nio-7777-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Handler execution resulted in exception: Could not write content: (was java.lang.NullPointerException) (through reference chain: com.pfc.soriano.wsdbmodel.entity.User["files"]); nested exception is com.fasterxml.jackson.databind.JsonMappingException: (was java.lang.NullPointerException) (through reference chain: com.pfc.soriano.wsdbmodel.entity.User["files"])
Мой вопрос: Что Netbeans делает разные из командной строки java -jar, что заставляет его работать нормально?
так что вы получаете NPE, а? только вы знаете, в какой строке какой код ... –
Что вам нужно знать, Нейл? Из метода getFiles() я вызываю один статический метод: 'public static Collection getImages (префикс String, String path) { Список result = new ArrayList <>(); Файл Directorio = новый файл (путь); TruequeFiltro filtro = новый TruequeFiltro (префикс); for (Файл файла: directorio.listFiles (filtro)) { result.add (file.getName()); } результат возврата; } ' –
У вас есть NPE, так что выработайте, какая строка, а затем выполните ЧИСЛО, а затем исправьте. –