本文共 1768 字,大约阅读时间需要 5 分钟。
问题:
严重: Servlet.service() for servlet default threw exception
.lang.NullPointerException at org.jbpm.pvm.internal.util.XmlUtil.attribute(XmlUtil.java:311) at org.jbpm.pvm.internal.util.XmlUtil.attribute(XmlUtil.java:302) at org.jbpm.jpdl.internal.xml.JpdlParser.parseDocumentElement(JpdlParser.java:175) at org.jbpm.pvm.internal.xml.Parser.parseDocument(Parser.java:475) at org.jbpm.pvm.internal.xml.Parser.execute(Parser.java:394) at org.jbpm.pvm.internal.xml.Parse.execute(Parse.java:157) at org.jbpm.jpdl.internal.repository.JpdlDeployer.deploy(JpdlDeployer.java:60) at org.jbpm.pvm.internal.repository.DeployerManager.deploy(DeployerManager.java:46) at org.jbpm.pvm.internal.repository.RepositorySessionImpl.deploy(RepositorySessionImpl.java:55) at org.jbpm.pvm.internal.cmd.DeployCmd.execute(DeployCmd.java:46) at org.jbpm.pvm.internal.cmd.DeployCmd.execute(DeployCmd.java:32) at org.jbpm.pvm.internal.svc.DefaultCommandService.execute(DefaultCommandService.java:42) at org.jbpm.pvm.internal..CommandTransactionCallback.doInTransaction(CommandTransactionCallback.java:50) at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:128) at org.jbpm.pvm.internal.tx.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:79) at org.jbpm.pvm.internal.svc.EnvironmentInterceptor.execute(EnvironmentInterceptor.java:54) at org.jbpm.pvm.internal.svc.RetryInterceptor.execute(RetryInterceptor.java:55) at org.jbpm.pvm.internal.repository.DeploymentImpl.deploy(DeploymentImpl.java:89)
原因是因为file.encoding默认的字符集跟有关,中文操作系统下面默认的字符集是GBK,如果流程定义的xml文件中用UTF-8,
则不能正确转换,所以需要修改file.encoding的值为UTF-8。
部署在tomcat中的文件要修改file.encoding的值,可以在tomcat的catalina.bat文件中set JAVA_OPTS=%JAVA_OPTS% %LOGGING_CONFIG%的后面加上 -Dfile.encoding="UTF-8"
转载地址:http://egcws.baihongyu.com/