状态机库.java设计器时不更新.jar保存主题文件



StateMachineBase.java 未更新。 我尝试移动文件以便设计器应该重新创建它,我尝试从命令行运行它(不显示错误消息)。

我可以做些什么来对设计器.jar和 StateMachineBase.java 文件进行故障排除?

设计器.jar文件的上次修改日期为 2015 年 9 月 1 日。 我通常在IntelliJ Idea中工作,但鉴于我从命令行运行设计器,我认为这有助于从等式中消除IDE。

我可以采取哪些步骤来解决此问题? 哪些文件或设置会影响设计器在写入 StateMachineBase.java 文件时的行为?

这是我的codenameone_settings.properties文件的内容:

#
#Fri Mar 04 17:16:27 EST 2016
codename1.ios.appid=OBFUSCATED.ca.zettabot.trainingtool
codename1.ios.release.provision=
codename1.arg.rim.obfuscation=true
codename1.j2me.nativeTheme=nbproject/nativej2me.res
codename1.arg.ios.project_type=ios
codename1.arg.ios.interface_orientation=UIInterfaceOrientationPortrait:UIInterfaceOrientationPortraitUpsideDown:UIInterfaceOrientationLandscapeLeft:UIInterfaceOrientationLandscapeRight
codename1.displayName=TrainingTool
guiResource=theme.res
codename1.android.keystoreAlias=
codename1.ios.release.certificate=
codename1.android.keystorePassword=
codename1.arg.ios.dsym=false
codename1.arg.android.release=true
package=generated
codename1.arg.ios.statusbar_hidden=false
codename1.languageLevel=5
codename1.android.keystore=
mainForm=SplashScreen
userClassAbs=C:\Users\vankej\Desktop\Personal\android\codename1\TrainingTool\src\userclasses\StateMachine.java
codename1.vendor=Codename One
codename1.arg.win.ver=8
codename1.arg.zooz.sandbox=false
codename1.ios.debug.certificatePassword=
codename1.mainName=MyApplication
codename1.ios.release.certificatePassword=
codename1.arg.ios.prerendered_icon=false
codename1.arg.vserv.scaleMode=false
codename1.ios.debug.certificate=
libVersion=99
codename1.arg.vserv.category=29
codename1.arg.ios.application_exits=false
codename1.secondaryTitle=TrainingTool
codename1.description=
codename1.ios.debug.provision=
baseClass=src/generated/StateMachineBase.java
codename1.arg.j2me.nativeThemeConst=0
codename1.rim.certificatePassword=
codename1.version=1.0
codename1.icon=icon.png
codename1.rim.signtoolCsk=
codename1.arg.android.debug=false
codename1.rim.signtoolDb=
codename1.arg.vserv.transition=300000
userClass=src/userclasses/StateMachine.java
codename1.arg.ios.includePush=false
codename1.packageName=ca.zettabot.trainingtool

这是我打开并尝试保存主题文件时设计器命令的命令行输出:

C:UsersvankejDesktopPersonalandroidcodename1TrainingTool>java -jar designer.jar srctheme.res > output.txt
2016-03-08 21:59:34.602:INFO:oejs.Server:jetty-8.0.y.z-SNAPSHOT
2016-03-08 21:59:34.638:INFO:oejs.AbstractConnector:Started SelectChannelConnector@0.0.0.0:9000 STARTING
Mar 08, 2016 9:59:34 PM org.jdesktop.application.LocalStorage getId
WARNING: unspecified resource Application.id using ResourceEditorApp
Mar 08, 2016 9:59:34 PM org.jdesktop.application.LocalStorage getId
WARNING: unspecified resource Application.vendorId using UnknownApplicationVendor
javax.xml.bind.UnmarshalException
 - with linked exception:
[org.xml.sax.SAXParseException; systemId: file:/C:/Users/vankej/Desktop/Personal/android/codename1/TrainingTool/res/theme.xml; lineNumber: 1; columnNumber: 1; Premature end of file.]
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
        at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
        at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
        at com.codename1.ui.util.EditableResources.openFileWithXMLSupport(EditableResources.java:409)
        at com.codename1.designer.ResourceEditorView$LoadResourceFileAction.exectute(ResourceEditorView.java:4112)
        at com.codename1.ui.resource.util.BlockingAction.run(BlockingAction.java:88)
        at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException; systemId: file:/C:/Users/vankej/Desktop/Personal/android/codename1/TrainingTool/res/theme.xml; lineNumber: 1; columnNumber: 1; Premature end of file.
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
        at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl$PrologDriver.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
        at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
        at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
        ... 10 more
java.lang.NullPointerException
        at com.codename1.designer.UserInterfaceEditor.persistToXML(UserInterfaceEditor.java:3161)
        at com.codename1.designer.UserInterfaceEditor.persistToXML(UserInterfaceEditor.java:3083)
        at com.codename1.designer.UserInterfaceEditor.appendComponentXMLBody(UserInterfaceEditor.java:2821)
        at com.codename1.designer.UserInterfaceEditor.persistToXML(UserInterfaceEditor.java:3510)
        at com.codename1.designer.UserInterfaceEditor.persistToXML(UserInterfaceEditor.java:3083)
        at com.codename1.ui.util.EditableResources.writeUIXml(EditableResources.java:1287)
        at com.codename1.ui.util.EditableResources.saveXMLFile(EditableResources.java:1236)
        at com.codename1.ui.util.EditableResources.saveXML(EditableResources.java:1311)
        at com.codename1.designer.ResourceEditorView$SaveResourceFileAction.exectute(ResourceEditorView.java:4295)
        at com.codename1.ui.resource.util.BlockingAction.run(BlockingAction.java:88)
        at java.lang.Thread.run(Unknown Source)

从命令行运行设计器时检查设计器的输出。

确保您的codenameone_settings.properties是有效的文件并包含以下内容。

这必须指向一个有效的 res 文件,该文件必须是包含您的 GUI 的文件:

guiResource=theme.res

这必须指向为StatemachineBase.java生成的包:

package=generated

这必须指向StateMachine.java源文件,不是那么重要,但很重要:

userClass=src/userclasses/StateMachine.java

这必须指向 GUI 中的有效主窗体:

mainForm=Main

您可以使用以下命令直接从命令行重新生成状态机:

java -jar path_to_designer_1.jar -regen path_to_resfile.res

我真的很想知道这是否有效或失败。

最新更新