当前位置:   article > 正文

GsonFormat插件使用报错 String index out of range -1_gsonformat报错

gsonformat报错

错误

使用GsonFormat插件将GSON格式的字符串转换成Java实体类失败,报错如下:

错误日志

  1. java.lang.RuntimeException: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
  2. at com.intellij.openapi.application.TransactionGuardImpl.submitTransactionAndWait(TransactionGuardImpl.java:176)
  3. at com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:248)
  4. at org.gsonformat.intellij.action.DataWriter.execute(DataWriter.java:74)
  5. at org.gsonformat.intellij.action.DataWriter$1.run(DataWriter.java:54)
  6. at com.intellij.openapi.progress.impl.CoreProgressManager$TaskRunnable.run(CoreProgressManager.java:727)
  7. at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$2(CoreProgressManager.java:164)
  8. at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:582)
  9. at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:532)
  10. at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:87)
  11. at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:151)
  12. at com.intellij.openapi.progress.impl.CoreProgressManager$4.run(CoreProgressManager.java:403)
  13. at com.intellij.openapi.application.impl.ApplicationImpl$1.run(ApplicationImpl.java:314)
  14. at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
  15. at java.util.concurrent.FutureTask.run(FutureTask.java:266)
  16. at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
  17. at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
  18. at java.lang.Thread.run(Thread.java:745)
  19. Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
  20. at java.lang.String.substring(String.java:1967)
  21. at org.gsonformat.intellij.common.PsiClassUtil.getPackage(PsiClassUtil.java:160)
  22. at org.gsonformat.intellij.process.Processor.process(Processor.java:44)
  23. at org.gsonformat.intellij.process.ClassProcessor.generate(ClassProcessor.java:24)
  24. at org.gsonformat.intellij.action.DataWriter.run(DataWriter.java:83)
  25. at com.intellij.openapi.command.WriteCommandAction$Simple.run(WriteCommandAction.java:348)
  26. at com.intellij.openapi.application.RunResult.run(RunResult.java:35)
  27. at com.intellij.openapi.command.WriteCommandAction.lambda$null$1(WriteCommandAction.java:264)
  28. at com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1057)
  29. at com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:263)
  30. at com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$4(WriteCommandAction.java:321)
  31. at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:220)
  32. at com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:188)
  33. at com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:323)
  34. at com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:262)
  35. at com.intellij.openapi.command.WriteCommandAction.lambda$execute$0(WriteCommandAction.java:248)
  36. at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransactionAndWait$2(TransactionGuardImpl.java:165)
  37. at com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:88)
  38. at com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:111)
  39. at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.doRun(LaterInvocator.java:435)
  40. at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.runNextEvent(LaterInvocator.java:419)
  41. at com.intellij.openapi.application.impl.LaterInvocator$FlushQueue.run(LaterInvocator.java:403)
  42. at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
  43. at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:762)
  44. at java.awt.EventQueue.access$500(EventQueue.java:98)
  45. at java.awt.EventQueue$3.run(EventQueue.java:715)
  46. at java.awt.EventQueue$3.run(EventQueue.java:709)
  47. at java.security.AccessController.doPrivileged(Native Method)
  48. at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
  49. at java.awt.EventQueue.dispatchEvent(EventQueue.java:732)
  50. at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:719)
  51. at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:668)
  52. at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:363)
  53. at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
  54. at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
  55. at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
  56. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
  57. at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
  58. at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

原因

需要转换成的实体类文件是在IDEA项目的默认文件目录下。

解决

在原来IDEA默认目录下创建一个来放实体类的包。

例如:创建一个bean目录,并在其目录下创建一个User实体类。

再次使用GsonFormat插件转换实体类。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/254900
推荐阅读
相关标签
  

闽ICP备14008679号