启动Tomcat时报 Expected stackmap frame at this location.(JDK1.7编译)

从svn上下的项目,部署到tomcat 7.0.19 上, 并且配置的是jdk7.  启动时出现以下问题。 

java.lang.VerifyError: Expecting a stackmap frame at branch target

 Location:

    com/genlot/loms/service/SysPermissionService.getPermissionCollection(Ljava/lang/Long;Z)Ljava/util/Collection; @19: ifnull

  Reason:

    Expected stackmap frame at this location.

  Bytecode:

    0000000: 2ab4 01ec 2bb6 01ee 4ebb 01f4 59b7 01f6

    0000010: 3a04 2dc6 010b 2ab4 01f7 2bb6 01f9 3a05

    0000020: 1905 c700 0cbb 00a8 59b7 00aa 3a05 b201

    0000030: fe2d b802 04b6 020a 9a00 a219 052a b401

    0000040: f7b2 020b b602 11b9 0215 0200 571c 9a00

    0000050: 1919 042a b200 5a2d b802 19b6 0183 b600

    0000060: 50b9 021f 0200 5719 042a b202 202d b802

    0000070: 23b6 0050 b902 1f02 0057 1904 2ab2 0227

    0000080: 2db8 022a b600 50b9 021f 0200 5719 042a

    0000090: b202 2d2d b802 04b6 0230 b600 50b9 021f

    00000a0: 0200 5719 042a b202 312d b802 34b6 0050

    00000b0: b902 1f02 0057 1302 372a b402 39b6 00af

    00000c0: 9900 1a19 0413 023b b902 3d02 0057 1904

    00000d0: 2db8 0234 b902 3d02 0057 1905 b900 7301

    00000e0: 003a 07a7 0031 1907 b900 7901 00c0 023e

    00000f0: 3a06 1906 b802 40b2 0246 a500 1a19 042a

    0000100: b201 5519 06b8 0249 b601 83b6 0050 b902

    0000110: 1f02 0057 1907 b900 f401 009a ffcb 1904

    0000120: b0                                    

 

   at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:334)

   at 。。。。。。。

五月 05, 2016 9:01:28 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deploying web application directory D:apache-tomcat-7.0.62webappsROOT

五月 05, 2016 9:01:28 下午 org.apache.catalina.startup.HostConfig deployDirectory

信息: Deployment of web application directory D:apache-tomcat-7.0.62webappsROOT has finished in 47 ms

五月 05, 2016 9:01:28 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["http-bio-8080"]

五月 05, 2016 9:01:28 下午 org.apache.coyote.AbstractProtocol start

信息: Starting ProtocolHandler ["ajp-bio-8009"]

五月 05, 2016 9:01:28 下午 org.apache.catalina.startup.Catalina start

信息: Server startup in 14226 ms

 Windows 系统下

解决办法: 修改jvm参数。添加 -XX:-UseSplitVerifier

打开springSource Tool suite( sts) (有些可能使用的是eclipse ) -----》 windows---> preferences--->java --- > installed JREs --- 选择你的jdk, 点击 edit  , 添加上面的参数 

Linux 环境下同理也是修改配置文件。 

本人在linux 下用的是tc-server 部署的程序,所以修改方法如下

找到你的server 路径

cd opt/tc-server/project-server/bin  

里面有一个 setenv.sh 的文件。打开后编辑添加上面的参数,然后保存。

Linux下修改tomcat的jvm 配置

----------------------Linux下修改TomcatJVM内存大小----------------------
要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,红色的为新添加的.
# OS specific support.  $var _must_ be set to either true or false.
JAVA_OPTS="-Xms256m -Xmx512m -Xss1024K -XX:PermSize=128m -XX:MaxPermSize=256m   -XX:-UseSplitVerifier
cygwin=false

原文地址:https://www.cnblogs.com/zyfxlv/p/6222375.html