{"action":"created","issue":{"url":"https://api.github.com/repos/JessYanCoding/ArmsComponent/issues/4","repository_url":"https://api.github.com/repos/JessYanCoding/ArmsComponent","labels_url":"https://api.github.com/repos/JessYanCoding/ArmsComponent/issues/4/labels{/name}","comments_url":"https://api.github.com/repos/JessYanCoding/ArmsComponent/issues/4/comments","events_url":"https://api.github.com/repos/JessYanCoding/ArmsComponent/issues/4/events","html_url":"https://github.com/JessYanCoding/ArmsComponent/issues/4","id":324780106,"number":4,"title":"新建model没有效果，具体log请看下面 - AndroidStudio 最新的稳定版的, 目前是 v3.1.2, 我在 README.md 也说明了只会支持最新的稳定版","user":{"login":"zgxzgxzg","id":13228580,"avatar_url":"https://avatars2.githubusercontent.com/u/13228580?v=4","gravatar_id":"","url":"https://api.github.com/users/zgxzgxzg","html_url":"https://github.com/zgxzgxzg","followers_url":"https://api.github.com/users/zgxzgxzg/followers","following_url":"https://api.github.com/users/zgxzgxzg/following{/other_user}","gists_url":"https://api.github.com/users/zgxzgxzg/gists{/gist_id}","starred_url":"https://api.github.com/users/zgxzgxzg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zgxzgxzg/subscriptions","organizations_url":"https://api.github.com/users/zgxzgxzg/orgs","repos_url":"https://api.github.com/users/zgxzgxzg/repos","events_url":"https://api.github.com/users/zgxzgxzg/events{/privacy}","received_events_url":"https://api.github.com/users/zgxzgxzg/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":13,"created_at":"2018-05-21T03:57:11Z","updated_at":"2018-05-21T09:44:38Z","closed_at":"2018-05-21T08:27:48Z","author_association":"NONE","body":"Error executing FreeMarker template: The following has evaluated to null or missing:\r\n==> ktOrJavaExt  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 72]\r\n\r\nTip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??\r\n\r\nThe failing instruction:\r\n==> ${ktOrJavaExt}  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 70]\r\nFreeMarker template error:\r\nThe following has evaluated to null or missing:\r\n==> ktOrJavaExt  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 72]\r\n\r\nTip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??\r\n\r\nThe failing instruction (FTL stack trace):\r\n----------\r\n==> ${ktOrJavaExt}  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 70]\r\n----------\r\n\r\nJava stack trace (for programmers):\r\n----------\r\nfreemarker.core.InvalidReferenceException: [... Exception message was already printed; see it above ...]\r\n\tat freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:98)\r\n\tat freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:382)\r\n\tat freemarker.core.Expression.evalAndCoerceToString(Expression.java:115)\r\n\tat freemarker.core.DollarVariable.accept(DollarVariable.java:76)\r\n\tat freemarker.core.Environment.visit(Environment.java:265)\r\n\tat freemarker.core.MixedContent.accept(MixedContent.java:93)\r\n\tat freemarker.core.Environment.visit(Environment.java:265)\r\n\tat freemarker.core.Environment.process(Environment.java:243)\r\n\tat freemarker.template.Template.process(Template.java:277)\r\n\tat com.android.tools.idea.templates.FreemarkerUtils.processFreemarkerTemplate(FreemarkerUtils.java:96)\r\n\tat com.android.tools.idea.templates.Template.executeRecipeFile(Template.java:557)\r\n\tat com.android.tools.idea.templates.Template.access$200(Template.java:73)\r\n\tat com.android.tools.idea.templates.Template$3.startElement(Template.java:519)\r\n\tat org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)\r\n\tat org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)\r\n\tat org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)\r\n\tat org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)\r\n\tat org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)\r\n\tat org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)\r\n\tat org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)\r\n\tat org.apache.xerces.parsers.XMLParser.parse(Unknown Source)\r\n\tat org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)\r\n\tat org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)\r\n\tat org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)\r\n\tat com.android.tools.idea.templates.Template.processXml(Template.java:484)\r\n\tat com.android.tools.idea.templates.Template.processFile(Template.java:468)\r\n\tat com.android.tools.idea.templates.Template.lambda$doRender$2(Template.java:368)\r\n\tat com.android.tools.idea.templates.Template$1.run(Template.java:347)\r\n\tat com.intellij.openapi.application.RunResult.run(RunResult.java:35)\r\n\tat com.intellij.openapi.command.WriteCommandAction.lambda$null$1(WriteCommandAction.java:171)\r\n\tat com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023)\r\n\tat com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:170)\r\n\tat com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$4(WriteCommandAction.java:210)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:119)\r\n\tat com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:212)\r\n\tat com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:168)\r\n\tat com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:151)\r\n\tat com.android.tools.idea.templates.Template.runWriteCommandAction(Template.java:349)\r\n\tat com.android.tools.idea.templates.Template.doRender(Template.java:367)\r\n\tat com.android.tools.idea.templates.Template.render(Template.java:232)\r\n\tat com.android.tools.idea.npw.module.NewModuleModel$ModuleTemplateRenderer.renderModule(NewModuleModel.java:312)\r\n\tat com.android.tools.idea.npw.module.NewModuleModel$ModuleTemplateRenderer.doDryRun(NewModuleModel.java:274)\r\n\tat com.android.tools.idea.npw.template.MultiTemplateRenderer.countDown(MultiTemplateRenderer.java:58)\r\n\tat com.android.tools.idea.npw.template.MultiTemplateRenderer.skipRender(MultiTemplateRenderer.java:82)\r\n\tat com.android.tools.idea.npw.template.RenderTemplateModel.handleSkipped(RenderTemplateModel.java:181)\r\n\tat com.android.tools.idea.wizard.model.ModelWizard.handleFinished(ModelWizard.java:401)\r\n\tat com.android.tools.idea.wizard.model.ModelWizard.goForward(ModelWizard.java:324)\r\n\tat com.android.tools.idea.wizard.model.ModelWizardDialog$FinishAction.doAction(ModelWizardDialog.java:307)\r\n\tat com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1838)\r\n\tat javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)\r\n\tat javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)\r\n\tat javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)\r\n\tat javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)\r\n\tat javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)\r\n\tat java.awt.Component.processMouseEvent(Component.java:6541)\r\n\tat javax.swing.JComponent.processMouseEvent(JComponent.java:3324)\r\n\tat java.awt.Component.processEvent(Component.java:6306)\r\n\tat java.awt.Container.processEvent(Container.java:2237)\r\n\tat java.awt.Component.dispatchEventImpl(Component.java:4897)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2295)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)\r\n\tat java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)\r\n\tat java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2281)\r\n\tat java.awt.Window.dispatchEventImpl(Window.java:2746)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)\r\n\tat java.awt.EventQueue.access$500(EventQueue.java:98)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:715)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:709)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:737)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:735)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.awt.EventQueue.dispatchEvent(EventQueue.java:734)\r\n\tat com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)\r\n\tat com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)\r\n\tat com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)\r\n\tat java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)\r\n\tat java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)\r\n\tat java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)\r\n\tat java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)\r\n\tat java.awt.Dialog.show(Dialog.java:1084)\r\n\tat com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:736)\r\n\tat com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:458)\r\n\tat com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1696)\r\n\tat com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1645)\r\n\tat com.android.tools.idea.actions.AndroidNewModuleAction.actionPerformed(AndroidNewModuleAction.java:64)\r\n\tat com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:215)\r\n\tat com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:232)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:309)\r\n\tat com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:929)\r\n\tat com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)\r\n\tat javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:116)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:109)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:118)\r\n\tat com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:116)\r\n\tat com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)\r\n\tat com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)\r\n\tat com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)\r\n\tat java.awt.Component.processMouseEvent(Component.java:6541)\r\n\tat javax.swing.JComponent.processMouseEvent(JComponent.java:3324)\r\n\tat java.awt.Component.processEvent(Component.java:6306)\r\n\tat java.awt.Container.processEvent(Container.java:2237)\r\n\tat java.awt.Component.dispatchEventImpl(Component.java:4897)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2295)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)\r\n\tat java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)\r\n\tat java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2281)\r\n\tat java.awt.Window.dispatchEventImpl(Window.java:2746)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)\r\n\tat java.awt.EventQueue.access$500(EventQueue.java:98)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:715)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:709)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:737)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:735)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.awt.EventQueue.dispatchEvent(EventQueue.java:734)\r\n\tat com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)\r\n\tat com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)\r\n\tat com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)\r\n\tat java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)\r\n\tat java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)\r\n\tat java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)\r\n\tat java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)\r\n\tat java.awt.EventDispatchThread.run(EventDispatchThread.java:82)\r\n\r\n\r\njava.lang.RuntimeException: com.android.tools.idea.templates.FreemarkerUtils$TemplateProcessingException: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:\r\n==> ktOrJavaExt  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 72]\r\n\r\nTip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??\r\n\r\nThe failing instruction:\r\n==> ${ktOrJavaExt}  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 70]\r\n\tat com.intellij.util.ExceptionUtil.rethrowAllAsUnchecked(ExceptionUtil.java:183)\r\n\tat com.intellij.openapi.application.RunResult.run(RunResult.java:43)\r\n\tat com.intellij.openapi.command.WriteCommandAction.lambda$null$1(WriteCommandAction.java:171)\r\n\tat com.intellij.openapi.application.impl.ApplicationImpl.runWriteAction(ApplicationImpl.java:1023)\r\n\tat com.intellij.openapi.command.WriteCommandAction.lambda$performWriteCommandAction$2(WriteCommandAction.java:170)\r\n\tat com.intellij.openapi.command.WriteCommandAction.lambda$doExecuteCommand$4(WriteCommandAction.java:210)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:149)\r\n\tat com.intellij.openapi.command.impl.CoreCommandProcessor.executeCommand(CoreCommandProcessor.java:119)\r\n\tat com.intellij.openapi.command.WriteCommandAction.doExecuteCommand(WriteCommandAction.java:212)\r\n\tat com.intellij.openapi.command.WriteCommandAction.performWriteCommandAction(WriteCommandAction.java:168)\r\n\tat com.intellij.openapi.command.WriteCommandAction.execute(WriteCommandAction.java:151)\r\n\tat com.android.tools.idea.templates.Template.runWriteCommandAction(Template.java:349)\r\n\tat com.android.tools.idea.templates.Template.doRender(Template.java:367)\r\n\tat com.android.tools.idea.templates.Template.render(Template.java:232)\r\n\tat com.android.tools.idea.npw.module.NewModuleModel$ModuleTemplateRenderer.renderModule(NewModuleModel.java:312)\r\n\tat com.android.tools.idea.npw.module.NewModuleModel$ModuleTemplateRenderer.doDryRun(NewModuleModel.java:274)\r\n\tat com.android.tools.idea.npw.template.MultiTemplateRenderer.countDown(MultiTemplateRenderer.java:58)\r\n\tat com.android.tools.idea.npw.template.MultiTemplateRenderer.skipRender(MultiTemplateRenderer.java:82)\r\n\tat com.android.tools.idea.npw.template.RenderTemplateModel.handleSkipped(RenderTemplateModel.java:181)\r\n\tat com.android.tools.idea.wizard.model.ModelWizard.handleFinished(ModelWizard.java:401)\r\n\tat com.android.tools.idea.wizard.model.ModelWizard.goForward(ModelWizard.java:324)\r\n\tat com.android.tools.idea.wizard.model.ModelWizardDialog$FinishAction.doAction(ModelWizardDialog.java:307)\r\n\tat com.intellij.openapi.ui.DialogWrapper$DialogWrapperAction.actionPerformed(DialogWrapper.java:1838)\r\n\tat javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)\r\n\tat javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2348)\r\n\tat javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)\r\n\tat javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)\r\n\tat javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)\r\n\tat java.awt.Component.processMouseEvent(Component.java:6541)\r\n\tat javax.swing.JComponent.processMouseEvent(JComponent.java:3324)\r\n\tat java.awt.Component.processEvent(Component.java:6306)\r\n\tat java.awt.Container.processEvent(Container.java:2237)\r\n\tat java.awt.Component.dispatchEventImpl(Component.java:4897)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2295)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)\r\n\tat java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)\r\n\tat java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2281)\r\n\tat java.awt.Window.dispatchEventImpl(Window.java:2746)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)\r\n\tat java.awt.EventQueue.access$500(EventQueue.java:98)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:715)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:709)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:737)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:735)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.awt.EventQueue.dispatchEvent(EventQueue.java:734)\r\n\tat com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)\r\n\tat com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)\r\n\tat com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)\r\n\tat java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)\r\n\tat java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)\r\n\tat java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)\r\n\tat java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)\r\n\tat java.awt.Dialog.show(Dialog.java:1084)\r\n\tat com.intellij.openapi.ui.impl.DialogWrapperPeerImpl$MyDialog.show(DialogWrapperPeerImpl.java:736)\r\n\tat com.intellij.openapi.ui.impl.DialogWrapperPeerImpl.show(DialogWrapperPeerImpl.java:458)\r\n\tat com.intellij.openapi.ui.DialogWrapper.invokeShow(DialogWrapper.java:1696)\r\n\tat com.intellij.openapi.ui.DialogWrapper.show(DialogWrapper.java:1645)\r\n\tat com.android.tools.idea.actions.AndroidNewModuleAction.actionPerformed(AndroidNewModuleAction.java:64)\r\n\tat com.intellij.openapi.actionSystem.ex.ActionUtil$1.run(ActionUtil.java:215)\r\n\tat com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:232)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:309)\r\n\tat com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:929)\r\n\tat com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:136)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)\r\n\tat javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:116)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.runSyncTransaction(TransactionGuardImpl.java:86)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.lambda$submitTransaction$1(TransactionGuardImpl.java:109)\r\n\tat com.intellij.openapi.application.TransactionGuardImpl.submitTransaction(TransactionGuardImpl.java:118)\r\n\tat com.intellij.openapi.application.TransactionGuard.submitTransaction(TransactionGuard.java:122)\r\n\tat com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:116)\r\n\tat com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)\r\n\tat com.intellij.ui.plaf.beg.BegMenuItemUI.access$300(BegMenuItemUI.java:45)\r\n\tat com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)\r\n\tat java.awt.Component.processMouseEvent(Component.java:6541)\r\n\tat javax.swing.JComponent.processMouseEvent(JComponent.java:3324)\r\n\tat java.awt.Component.processEvent(Component.java:6306)\r\n\tat java.awt.Container.processEvent(Container.java:2237)\r\n\tat java.awt.Component.dispatchEventImpl(Component.java:4897)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2295)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4889)\r\n\tat java.awt.LightweightDispatcher.processMouseEvent(Container.java:4526)\r\n\tat java.awt.LightweightDispatcher.dispatchEvent(Container.java:4467)\r\n\tat java.awt.Container.dispatchEventImpl(Container.java:2281)\r\n\tat java.awt.Window.dispatchEventImpl(Window.java:2746)\r\n\tat java.awt.Component.dispatchEvent(Component.java:4719)\r\n\tat java.awt.EventQueue.dispatchEventImpl(EventQueue.java:764)\r\n\tat java.awt.EventQueue.access$500(EventQueue.java:98)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:715)\r\n\tat java.awt.EventQueue$3.run(EventQueue.java:709)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:90)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:737)\r\n\tat java.awt.EventQueue$4.run(EventQueue.java:735)\r\n\tat java.security.AccessController.doPrivileged(Native Method)\r\n\tat java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)\r\n\tat java.awt.EventQueue.dispatchEvent(EventQueue.java:734)\r\n\tat com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:827)\r\n\tat com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:651)\r\n\tat com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:365)\r\n\tat java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)\r\n\tat java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)\r\n\tat java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)\r\n\tat java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)\r\n\tat java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)\r\n\tat java.awt.EventDispatchThread.run(EventDispatchThread.java:82)\r\nCaused by: com.android.tools.idea.templates.FreemarkerUtils$TemplateProcessingException: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:\r\n==> ktOrJavaExt  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 72]\r\n\r\nTip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??\r\n\r\nThe failing instruction:\r\n==> ${ktOrJavaExt}  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 70]\r\n\tat com.android.tools.idea.templates.FreemarkerUtils.processFreemarkerTemplate(FreemarkerUtils.java:111)\r\n\tat com.android.tools.idea.templates.Template.executeRecipeFile(Template.java:557)\r\n\tat com.android.tools.idea.templates.Template.access$200(Template.java:73)\r\n\tat com.android.tools.idea.templates.Template$3.startElement(Template.java:519)\r\n\tat org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Source)\r\n\tat org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unknown Source)\r\n\tat org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)\r\n\tat org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)\r\n\tat org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)\r\n\tat org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)\r\n\tat org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)\r\n\tat org.apache.xerces.parsers.XMLParser.parse(Unknown Source)\r\n\tat org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)\r\n\tat org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)\r\n\tat org.apache.xerces.jaxp.SAXParserImpl.parse(Unknown Source)\r\n\tat com.android.tools.idea.templates.Template.processXml(Template.java:484)\r\n\tat com.android.tools.idea.templates.Template.processFile(Template.java:468)\r\n\tat com.android.tools.idea.templates.Template.lambda$doRender$2(Template.java:368)\r\n\tat com.android.tools.idea.templates.Template$1.run(Template.java:347)\r\n\tat com.intellij.openapi.application.RunResult.run(RunResult.java:35)\r\n\t... 118 more\r\nCaused by: freemarker.core.InvalidReferenceException: The following has evaluated to null or missing:\r\n==> ktOrJavaExt  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 72]\r\n\r\nTip: If the failing expression is known to be legally null/missing, either specify a default value with myOptionalVar!myDefault, or use <#if myOptionalVar??>when-present<#else>when-missing</#if>. (These only cover the last step of the expression; to cover the whole expression, use parenthessis: (myOptionVar.foo)!myDefault, (myOptionVar.foo)??\r\n\r\nThe failing instruction:\r\n==> ${ktOrJavaExt}  [in template \"root://gradle-projects/NewArmsComponent/recipe.xml.ftl\" at line 39, column 70]\r\n\tat freemarker.core.InvalidReferenceException.getInstance(InvalidReferenceException.java:98)\r\n\tat freemarker.core.EvalUtil.coerceModelToString(EvalUtil.java:382)\r\n\tat freemarker.core.Expression.evalAndCoerceToString(Expression.java:115)\r\n\tat freemarker.core.DollarVariable.accept(DollarVariable.java:76)\r\n\tat freemarker.core.Environment.visit(Environment.java:265)\r\n\tat freemarker.core.MixedContent.accept(MixedContent.java:93)\r\n\tat freemarker.core.Environment.visit(Environment.java:265)\r\n\tat freemarker.core.Environment.process(Environment.java:243)\r\n\tat freemarker.template.Template.process(Template.java:277)\r\n\tat com.android.tools.idea.templates.FreemarkerUtils.processFreemarkerTemplate(FreemarkerUtils.java:96)\r\n\t... 137 more\r\n\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/JessYanCoding/ArmsComponent/issues/comments/390606344","html_url":"https://github.com/JessYanCoding/ArmsComponent/issues/4#issuecomment-390606344","issue_url":"https://api.github.com/repos/JessYanCoding/ArmsComponent/issues/4","id":390606344,"user":{"login":"zgxzgxzg","id":13228580,"avatar_url":"https://avatars2.githubusercontent.com/u/13228580?v=4","gravatar_id":"","url":"https://api.github.com/users/zgxzgxzg","html_url":"https://github.com/zgxzgxzg","followers_url":"https://api.github.com/users/zgxzgxzg/followers","following_url":"https://api.github.com/users/zgxzgxzg/following{/other_user}","gists_url":"https://api.github.com/users/zgxzgxzg/gists{/gist_id}","starred_url":"https://api.github.com/users/zgxzgxzg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zgxzgxzg/subscriptions","organizations_url":"https://api.github.com/users/zgxzgxzg/orgs","repos_url":"https://api.github.com/users/zgxzgxzg/repos","events_url":"https://api.github.com/users/zgxzgxzg/events{/privacy}","received_events_url":"https://api.github.com/users/zgxzgxzg/received_events","type":"User","site_admin":false},"created_at":"2018-05-21T09:44:38Z","updated_at":"2018-05-21T09:44:38Z","author_association":"NONE","body":"明白了，大佬，小弟想当然了，晚点再试下~"}}
{"actor":{"display_login":"zgxzgxzg"}}