查看: 2799|回复: 4

本地修改源代码编译后直接覆盖war包或者class文件,提示错误

升级   86.67%

24

主题

21

回帖

180

积分

注册会员

Rank: 2

积分
180
发表于 2021-3-15 14:15:21 | 显示全部楼层 |阅读模式
请问在本地修改源码编译后,如何替换服务器上的程序文件?
本地修改x_message_assemble_communicate模块下的QiyeweixinConsumeQueue.java文件,修改content显示内容,然后编译,无论是直接替换store目录下的x_message_assemble_communicate.war文件还是里面的QiyeweixinConsumeQueue.class文件,启动都报错,且企业微信通知消息无法使用
WARN org.eclipse.jetty.webapp.WebAppContext - Failed startup of context o.e.j.q.QuickStartWebApp@54e3c8c2{x_message_assemble_communicate,/x_message_assemble_communicate,file:///home/o2server/servers/applicationServer/work/x_message_assemble_communicate/,UNAVAILABLE}
MultiException[java.lang.RuntimeException: Error scanning file /home/o2server/servers/applicationServer/work/x_message_assemble_communicate/WEB-INF/classes/com/x/message/assemble/communicate/QiyeweixinConsumeQueue.class, java.lang.RuntimeException: Error scanning file /home/o2server/servers/applicationServer/work/x_message_assemble_communicate/WEB-INF/classes/com/x/message/assemble/communicate/QiyeweixinConsumeQueue$QiyeweixinMessageResp.class]
        at org.eclipse.jetty.util.MultiException.ifExceptionThrow(MultiException.java:122)
        at org.eclipse.jetty.annotations.AnnotationConfiguration.scanForAnnotations(AnnotationConfiguration.java:492)
        at org.eclipse.jetty.annotations.AnnotationConfiguration.configure(AnnotationConfiguration.java:346)
        at org.eclipse.jetty.webapp.WebAppContext.configure(WebAppContext.java:498)
        at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1417)
        at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:911)
        at org.eclipse.jetty.servlet.ServletContextHandler.doStart(ServletContextHandler.java:288)
        at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:524)
        at org.eclipse.jetty.quickstart.QuickStartWebApp.doStart(QuickStartWebApp.java:222)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:117)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.handler.gzip.GzipHandler.doStart(GzipHandler.java:426)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.start(ContainerLifeCycle.java:169)
        at org.eclipse.jetty.server.Server.start(Server.java:423)
        at org.eclipse.jetty.util.component.ContainerLifeCycle.doStart(ContainerLifeCycle.java:110)
        at org.eclipse.jetty.server.handler.AbstractHandler.doStart(AbstractHandler.java:97)
        at org.eclipse.jetty.server.Server.doStart(Server.java:387)
        at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:72)
        at com.x.server.console.server.application.ApplicationServerTools.start(ApplicationServerTools.java:144)
        at com.x.server.console.server.Servers.startApplicationServer(Servers.java:95)
        at com.x.server.console.Main.startApplicationServer(Main.java:326)
        at com.x.server.console.Main.startAll(Main.java:411)
        at com.x.server.console.Main.main(Main.java:167)
        Suppressed: java.lang.RuntimeException: Error scanning file /home/o2server/servers/applicationServer/work/x_message_assemble_communicate/WEB-INF/classes/com/x/message/assemble/communicate/QiyeweixinConsumeQueue.class
                at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:741)
                at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:828)
                at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159)
                at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:455)
                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
                at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
                at java.lang.Thread.run(Thread.java:748)
        Caused by: java.lang.IllegalArgumentException
                at org.objectweb.asm.ClassReader.<init>(Unknown Source)
                at org.objectweb.asm.ClassReader.<init>(Unknown Source)
                at org.objectweb.asm.ClassReader.<init>(Unknown Source)
                at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:932)
                at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:734)
                ... 6 more
        Suppressed: java.lang.RuntimeException: Error scanning file /home/o2server/servers/applicationServer/work/x_message_assemble_communicate/WEB-INF/classes/com/x/message/assemble/communicate/QiyeweixinConsumeQueue$QiyeweixinMessageResp.class
                at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:741)
                at org.eclipse.jetty.annotations.AnnotationParser.parse(AnnotationParser.java:828)
                at org.eclipse.jetty.annotations.AnnotationConfiguration$ParserTask.call(AnnotationConfiguration.java:159)
                at org.eclipse.jetty.annotations.AnnotationConfiguration$1.run(AnnotationConfiguration.java:455)
                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:773)
                at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:905)
                at java.lang.Thread.run(Thread.java:748)
        Caused by: java.lang.IllegalArgumentException
                at org.objectweb.asm.ClassReader.<init>(Unknown Source)
                at org.objectweb.asm.ClassReader.<init>(Unknown Source)
                at org.objectweb.asm.ClassReader.<init>(Unknown Source)
                at org.eclipse.jetty.annotations.AnnotationParser.scanClass(AnnotationParser.java:932)
                at org.eclipse.jetty.annotations.AnnotationParser.parseDir(AnnotationParser.java:734)
                ... 6 more
        [CIRCULAR REFERENCE:java.lang.RuntimeException: Error scanning file /home/o2server/servers/applicationServer/work/x_message_assemble_communicate/WEB-INF/classes/com/x/message/assemble/communicate/QiyeweixinConsumeQueue.class]
[main] INFO org.eclipse.jetty.util.ssl.SslContextFactory - x509=X509@68bdf3ca(1,h=[oa.qingquanshiye.com],w=[]) for Server@65132031[provider=null,keyStore=file:///home/o2server/config/keystore,trustStore=null]
[main] INFO org.eclipse.jetty.server.AbstractConnector - Started ServerConnector@48210ca1{SSL, (ssl, http/1.1)}{0.0.0.0:20020}
[main] INFO org.eclipse.jetty.server.Server - Started @2080853ms
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37555
发表于 2021-3-15 22:54:56 | 显示全部楼层
您好:如果修改源码编译方式见文档
https://www.o2oa.net/course/ng5iqb.html
回复

使用道具 举报

升级   86.67%

24

主题

21

回帖

180

积分

注册会员

Rank: 2

积分
180
发表于 2021-3-17 14:13:09 | 显示全部楼层
按照官方编译说明,在IDEA里面完成修改编译,比如修改了Qiyeweixin.Queue.java的文件,编译后会生成新的x_message_assemble_communicate.war包和jar文件,请问如何正确的替换服务器上的程序
启动提示   扫描 store 过程中删除无效的文件:x_message_assemble_communicate-6.0.war
回复

使用道具 举报

升级   100%

138

主题

1万

回帖

3万

积分

超级版主

Rank: 8Rank: 8

积分
37555
发表于 2021-3-17 21:37:52 | 显示全部楼层
1.x_message_assemble_communicate-6.0.war是您自己编译的对象吗
2.o2server\store\manifest.cfg  是需要加载的war对象!
回复

使用道具 举报

升级   86.67%

24

主题

21

回帖

180

积分

注册会员

Rank: 2

积分
180
发表于 2021-3-18 08:21:24 | 显示全部楼层
是的,已经解决问题了,谢谢您,辛苦啦,这么晚还工作
x_message_assemble_communicate-6.0.war是自己编译后的文件,和manifest.cfg中标注的x_message_assemble_communicate.war不一致,所以每次扫描都会被删除,把名字改成x_message_assemble_communicate.war就可以了,不需要替换jar文件
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

联系客服 关注微信 下载APP 返回顶部 返回列表
viewthread