Java项目设置应用的文件编码

来源:互联网 发布:c语言malloc头文件 编辑:程序博客网 时间:2024/05/16 18:41

严重: Servlet.service() for servlet default threw exception
Java.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.spring.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"


中文URL访问不到静态资源的问题:

       也可以通过差不多的方式解决:EXTRA_JVM_ARGUMENTS="-Xms512m -Xmx3072m -Xmn256m -Dfile.encoding=UTF-8

0 0
原创粉丝点击