IDEA部署Tomcat 项目之看不懂的坑

在IDEA中部署新项目时遇到一系列报错,包括log4j初始化警告、Quartz Scheduler的启动信息及系统启动失败。错误源于系统级参数加载时的NullPointerException。解决方法是检查并修改服务器号码,调整为正确配置后,系统成功启动。

IDEA部署了一个新的项目,结果一直报错,怎么也无法解决
报错代码如下:

log4j:WARN No appenders could be found for logger (org.logicalcobwebs.proxool.configuration.PropertyConfigurator).
log4j:WARN Please initialize the log4j system properly.
2021-10-21 15:27:15.624 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.impl.StdSchedulerFactory - Using default implementation for ThreadExecutor
2021-10-21 15:27:15.673 [RMI TCP Connection(2)-127.0.0.1] INFO  o.quartz.core.SchedulerSignalerImpl - Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl
2021-10-21 15:27:15.673 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Quartz Scheduler v.2.2.1 created.
2021-10-21 15:27:15.675 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.simpl.RAMJobStore - RAMJobStore initialized.
2021-10-21 15:27:15.677 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Scheduler meta-data: Quartz Scheduler (v2.2.1) 'Scheduler' with instanceId 'NON_CLUSTERED'
  Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally.
  NOT STARTED.
  Currently in standby mode.
  Number of jobs executed: 0
  Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 10 threads.
  Using job-store 'org.quartz.simpl.RAMJobStore' - which does not support persistence. and is not clustered.

2021-10-21 15:27:15.678 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.impl.StdSchedulerFactory - Quartz scheduler 'Scheduler' initialized from an externally provided properties instance.
2021-10-21 15:27:15.678 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.impl.StdSchedulerFactory - Quartz scheduler version: 2.2.1
2021-10-21 15:27:15.683 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@4ad34f9c
2021-10-21 15:27:16.674 [Timer-0] DEBUG org.quartz.utils.UpdateChecker - Checking for available updated version of Quartz...
2021-10-21 15:27:17.345 [Timer-0] DEBUG org.quartz.utils.UpdateChecker - Quartz version update check failed: Server returned HTTP response code: 403 for URL: http://www.terracotta.org/kit/reflector?kitID=quartz&pageID=update.properties&id=-1062707077&os-name=Windows+10&jvm-name=Java+HotSpot%28TM%29+64-Bit+Server+VM&jvm-version=1.8.0_131&platform=amd64&tc-version=2.2.1&tc-product=Quartz&source=Quartz&uptime-secs=1&patch=UNKNOWN
2021-10-21 15:27:20.063 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Scheduler Scheduler_$_NON_CLUSTERED started.
2021-10-21 15:27:20.063 [Scheduler_QuartzSchedulerThread] DEBUG o.quartz.core.QuartzSchedulerThread - batch acquisition of 0 triggers
【-/-(2021-10-21 15:27:26)系统开始启动,请耐心等候
Hibernate: SELECT 1 FROM dual WHERE EXISTS(SELECT table_name FROM user_tables WHERE table_name =?)
03:27:27,141|12|statement|connection 291|SELECT 1 FROM dual WHERE EXISTS(SELECT table_name FROM user_tables WHERE table_name =?)|SELECT 1 FROM dual WHERE EXISTS(SELECT table_name FROM user_tables WHERE table_name ='TREGSERIALNUMBER')
Hibernate: SELECT SerialNumber FROM tRegSerialNumber WHERE MachineCode IN(?, ?)
03:27:27,249|2|statement|connection 291|SELECT SerialNumber FROM tRegSerialNumber WHERE MachineCode IN(?, ?)|SELECT SerialNumber FROM tRegSerialNumber WHERE MachineCode IN('D0:50:99:A9:29:EC', '08:00:58:00:00:01')
Hibernate: SELECT 1 FROM dual WHERE EXISTS(SELECT table_name FROM user_tables WHERE table_name =?)
03:27:27,260|4|statement|connection 292|SELECT 1 FROM dual WHERE EXISTS(SELECT table_name FROM user_tables WHERE table_name =?)|SELECT 1 FROM dual WHERE EXISTS(SELECT table_name FROM user_tables WHERE table_name ='TSQLVERSION')1/22(2021-10-21 15:27:27)系统正在启动,已处理SystemConfig
【2/22(2021-10-21 15:27:27)系统正在启动,FlyWayService
Hibernate: select syslevelpa0_.PK as PK1_956_, syslevelpa0_.ServerCode as ServerCode2_956_, syslevelpa0_.busyoutnum as busyoutnum3_956_, syslevelpa0_.AppendSavePath as AppendSavePath4_956_, syslevelpa0_.busytimestar as busytimestar5_956_, syslevelpa0_.busytimeend as busytimeend6_956_, syslevelpa0_.clearcycle as clearcycle7_956_, syslevelpa0_.showaccountform as showaccountform8_956_, syslevelpa0_.maxAppendSize as maxAppendSize9_956_, syslevelpa0_.dzpZysbValue as dzpZysbValue10_956_, syslevelpa0_.dzpTysbValue as dzpTysbValue11_956_, syslevelpa0_.dzpJjyjValue as dzpJjyjValue12_956_, syslevelpa0_.gzyqValue as gzyqValue13_956_, syslevelpa0_.systemName as systemName14_956_, syslevelpa0_.LoginBackgroundColor as LoginBackgroundCo15_956_, syslevelpa0_.loginBackgroundPicPath as loginBackgroundPi16_956_, syslevelpa0_.loginKuangPicPath as loginKuangPicPath17_956_, syslevelpa0_.welLoginBackColor as welLoginBackColor18_956_, syslevelpa0_.loginBtnBackColor as loginBtnBackColor19_956_, syslevelpa0_.bottomPicPath as bottomPicPath20_956_, syslevelpa0_.bottomLeftInfo as bottomLeftInfo21_956_, syslevelpa0_.bottomRightInfo as bottomRightInfo22_956_, syslevelpa0_.mainLogoPicPath as mainLogoPicPath23_956_, syslevelpa0_.inserttime as inserttime24_956_, syslevelpa0_.lastestupdate as lastestupdate25_956_, syslevelpa0_.updateperson as updateperson26_956_, syslevelpa0_.ShowAssetAcceptance as ShowAssetAcceptan27_956_, syslevelpa0_.isPrintTwoBarCode as isPrintTwoBarCode28_956_, syslevelpa0_.TodoTaskQueryInterval as TodoTaskQueryInte29_956_, syslevelpa0_.NoticeQueryInterval as NoticeQueryInterv30_956_, syslevelpa0_.ExportQueryInterval as ExportQueryInterv31_956_, syslevelpa0_.TodoTimeLimit as TodoTimeLimit32_956_, syslevelpa0_.PriorDaysRemind as PriorDaysRemind33_956_, syslevelpa0_.ShowMsg as ShowMsg34_956_, syslevelpa0_.CanSelectSummaryNode as CanSelectSummaryN35_956_, syslevelpa0_.WhiteList as WhiteList36_956_, syslevelpa0_.CssStylename as CssStylename37_956_, syslevelpa0_.ChatWebSocketURL as ChatWebSocketURL38_956_, syslevelpa0_.VerifyCodePolicy as VerifyCodePolicy39_956_, syslevelpa0_.PasswordLifeTime as PasswordLifeTime40_956_, syslevelpa0_.ShowContractFundSource as ShowContractFundS41_956_, syslevelpa0_.LogClientInfo as LogClientInfo42_956_, syslevelpa0_.RentLendLimit as RentLendLimit43_956_, syslevelpa0_.RentLendValue as RentLendValue44_956_, syslevelpa0_.isPreview as isPreview45_956_, syslevelpa0_.maxPicSize as maxPicSize46_956_, syslevelpa0_.DeprStatisticalTermsSet as DeprStatisticalTe47_956_, syslevelpa0_.SystemVersionType as SystemVersionType48_956_, syslevelpa0_.shortMessageType as shortMessageType49_956_ from tSysLevelParam syslevelpa0_
03:27:27,620|4|statement|connection 294|select syslevelpa0_.PK as PK1_956_, syslevelpa0_.ServerCode as ServerCode2_956_, syslevelpa0_.busyoutnum as busyoutnum3_956_, syslevelpa0_.AppendSavePath as AppendSavePath4_956_, syslevelpa0_.busytimestar as busytimestar5_956_, syslevelpa0_.busytimeend as busytimeend6_956_, syslevelpa0_.clearcycle as clearcycle7_956_, syslevelpa0_.showaccountform as showaccountform8_956_, syslevelpa0_.maxAppendSize as maxAppendSize9_956_, syslevelpa0_.dzpZysbValue as dzpZysbValue10_956_, syslevelpa0_.dzpTysbValue as dzpTysbValue11_956_, syslevelpa0_.dzpJjyjValue as dzpJjyjValue12_956_, syslevelpa0_.gzyqValue as gzyqValue13_956_, syslevelpa0_.systemName as systemName14_956_, syslevelpa0_.LoginBackgroundColor as LoginBackgroundCo15_956_, syslevelpa0_.loginBackgroundPicPath as loginBackgroundPi16_956_, syslevelpa0_.loginKuangPicPath as loginKuangPicPath17_956_, syslevelpa0_.welLoginBackColor as welLoginBackColor18_956_, syslevelpa0_.loginBtnBackColor as loginBtnBackColor19_956_, syslevelpa0_.bottomPicPath as bottomPicPath20_956_, syslevelpa0_.bottomLeftInfo as bottomLeftInfo21_956_, syslevelpa0_.bottomRightInfo as bottomRightInfo22_956_, syslevelpa0_.mainLogoPicPath as mainLogoPicPath23_956_, syslevelpa0_.inserttime as inserttime24_956_, syslevelpa0_.lastestupdate as lastestupdate25_956_, syslevelpa0_.updateperson as updateperson26_956_, syslevelpa0_.ShowAssetAcceptance as ShowAssetAcceptan27_956_, syslevelpa0_.isPrintTwoBarCode as isPrintTwoBarCode28_956_, syslevelpa0_.TodoTaskQueryInterval as TodoTaskQueryInte29_956_, syslevelpa0_.NoticeQueryInterval as NoticeQueryInterv30_956_, syslevelpa0_.ExportQueryInterval as ExportQueryInterv31_956_, syslevelpa0_.TodoTimeLimit as TodoTimeLimit32_956_, syslevelpa0_.PriorDaysRemind as PriorDaysRemind33_956_, syslevelpa0_.ShowMsg as ShowMsg34_956_, syslevelpa0_.CanSelectSummaryNode as CanSelectSummaryN35_956_, syslevelpa0_.WhiteList as WhiteList36_956_, syslevelpa0_.CssStylename as CssStylename37_956_, syslevelpa0_.ChatWebSocketURL as ChatWebSocketURL38_956_, syslevelpa0_.VerifyCodePolicy as VerifyCodePolicy39_956_, syslevelpa0_.PasswordLifeTime as PasswordLifeTime40_956_, syslevelpa0_.ShowContractFundSource as ShowContractFundS41_956_, syslevelpa0_.LogClientInfo as LogClientInfo42_956_, syslevelpa0_.RentLendLimit as RentLendLimit43_956_, syslevelpa0_.RentLendValue as RentLendValue44_956_, syslevelpa0_.isPreview as isPreview45_956_, syslevelpa0_.maxPicSize as maxPicSize46_956_, syslevelpa0_.DeprStatisticalTermsSet as DeprStatisticalTe47_956_, syslevelpa0_.SystemVersionType as SystemVersionType48_956_, syslevelpa0_.shortMessageType as shortMessageType49_956_ from tSysLevelParam syslevelpa0_|select syslevelpa0_.PK as PK1_956_, syslevelpa0_.ServerCode as ServerCode2_956_, syslevelpa0_.busyoutnum as busyoutnum3_956_, syslevelpa0_.AppendSavePath as AppendSavePath4_956_, syslevelpa0_.busytimestar as busytimestar5_956_, syslevelpa0_.busytimeend as busytimeend6_956_, syslevelpa0_.clearcycle as clearcycle7_956_, syslevelpa0_.showaccountform as showaccountform8_956_, syslevelpa0_.maxAppendSize as maxAppendSize9_956_, syslevelpa0_.dzpZysbValue as dzpZysbValue10_956_, syslevelpa0_.dzpTysbValue as dzpTysbValue11_956_, syslevelpa0_.dzpJjyjValue as dzpJjyjValue12_956_, syslevelpa0_.gzyqValue as gzyqValue13_956_, syslevelpa0_.systemName as systemName14_956_, syslevelpa0_.LoginBackgroundColor as LoginBackgroundCo15_956_, syslevelpa0_.loginBackgroundPicPath as loginBackgroundPi16_956_, syslevelpa0_.loginKuangPicPath as loginKuangPicPath17_956_, syslevelpa0_.welLoginBackColor as welLoginBackColor18_956_, syslevelpa0_.loginBtnBackColor as loginBtnBackColor19_956_, syslevelpa0_.bottomPicPath as bottomPicPath20_956_, syslevelpa0_.bottomLeftInfo as bottomLeftInfo21_956_, syslevelpa0_.bottomRightInfo as bottomRightInfo22_956_, syslevelpa0_.mainLogoPicPath as mainLogoPicPath23_956_, syslevelpa0_.inserttime as inserttime24_956_, syslevelpa0_.lastestupdate as lastestupdate25_956_, syslevelpa0_.updateperson as updateperson26_956_, syslevelpa0_.ShowAssetAcceptance as ShowAssetAcceptan27_956_, syslevelpa0_.isPrintTwoBarCode as isPrintTwoBarCode28_956_, syslevelpa0_.TodoTaskQueryInterval as TodoTaskQueryInte29_956_, syslevelpa0_.NoticeQueryInterval as NoticeQueryInterv30_956_, syslevelpa0_.ExportQueryInterval as ExportQueryInterv31_956_, syslevelpa0_.TodoTimeLimit as TodoTimeLimit32_956_, syslevelpa0_.PriorDaysRemind as PriorDaysRemind33_956_, syslevelpa0_.ShowMsg as ShowMsg34_956_, syslevelpa0_.CanSelectSummaryNode as CanSelectSummaryN35_956_, syslevelpa0_.WhiteList as WhiteList36_956_, syslevelpa0_.CssStylename as CssStylename37_956_, syslevelpa0_.ChatWebSocketURL as ChatWebSocketURL38_956_, syslevelpa0_.VerifyCodePolicy as VerifyCodePolicy39_956_, syslevelpa0_.PasswordLifeTime as PasswordLifeTime40_956_, syslevelpa0_.ShowContractFundSource as ShowContractFundS41_956_, syslevelpa0_.LogClientInfo as LogClientInfo42_956_, syslevelpa0_.RentLendLimit as RentLendLimit43_956_, syslevelpa0_.RentLendValue as RentLendValue44_956_, syslevelpa0_.isPreview as isPreview45_956_, syslevelpa0_.maxPicSize as maxPicSize46_956_, syslevelpa0_.DeprStatisticalTermsSet as DeprStatisticalTe47_956_, syslevelpa0_.SystemVersionType as SystemVersionType48_956_, syslevelpa0_.shortMessageType as shortMessageType49_956_ from tSysLevelParam syslevelpa0_
Hibernate: SELECT * FROM tRegSerialNumber WHERE MachineCode=?
03:27:27,736|2|statement|connection 294|SELECT * FROM tRegSerialNumber WHERE MachineCode=?|SELECT * FROM tRegSerialNumber WHERE MachineCode='D0:50:99:A9:29:EC'
2021-10-21 15:27:27.737 [RMI TCP Connection(2)-127.0.0.1] INFO  f.sys.cache.SysParamServiceImpl - 系统级参数缓存初始化成功!
【3/22(2021-10-21 15:27:27)系统正在启动,已处理SysParamService
【4/22(2021-10-21 15:27:28)系统正在启动,已处理FKConfig
03:27:29,054|1|rollback|connection 295||

【系统启动失败(A),当前启动到4】
java.lang.NullPointerException
	at framework.sys.cache.systemtablemaintenance.SysTableServiceImpl.loadSqlFileWhenSystemStart_log_trans(SysTableServiceImpl.java:164)
	at framework.sys.cache.systemtablemaintenance.SysTableServiceImpl$$FastClassBySpringCGLIB$$eb84f137.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:85)
	at framework.sys.log.LogOperateManager.logOperateHandle(LogOperateManager.java:77)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:621)
	at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:610)
	at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:68)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:92)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
	at framework.sys.cache.systemtablemaintenance.SysTableServiceImpl$$EnhancerBySpringCGLIB$$b0290a3e.loadSqlFileWhenSystemStart_log_trans(<generated>)
	at framework.sys.cache.systemtablemaintenance.SysTableServiceImpl$$FastClassBySpringCGLIB$$eb84f137.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204)
	at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:717)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:653)
	at framework.sys.cache.systemtablemaintenance.SysTableServiceImpl$$EnhancerBySpringCGLIB$$7b93a760.loadSqlFileWhenSystemStart_log_trans(<generated>)
	at framework.sys.cache.GlobalCache.init(GlobalCache.java:55)
	at framework.sys.context.SpringContextLoaderListener.contextInitialized(SpringContextLoaderListener.java:17)
	at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4689)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5155)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1719)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:286)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:479)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:428)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:286)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at com.sun.jmx.remote.security.MBeanServerAccessController.invoke(MBeanServerAccessController.java:468)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1408)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)
21-Oct-2021 15:27:29.070 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 一个或多个listeners启动失败,更多详细信息查看对应的容器日志文件
21-Oct-2021 15:27:29.071 严重 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal 由于之前的错误,Context[]启动失败
2021-10-21 15:27:29.181 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Scheduler Scheduler_$_NON_CLUSTERED paused.
2021-10-21 15:27:29.204 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Scheduler Scheduler_$_NON_CLUSTERED shutting down.
2021-10-21 15:27:29.204 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Scheduler Scheduler_$_NON_CLUSTERED paused.
2021-10-21 15:27:29.206 [RMI TCP Connection(2)-127.0.0.1] DEBUG org.quartz.simpl.SimpleThreadPool - Shutting down threadpool...
2021-10-21 15:27:29.207 [RMI TCP Connection(2)-127.0.0.1] DEBUG org.quartz.simpl.SimpleThreadPool - Shutdown of threadpool complete.
2021-10-21 15:27:29.207 [RMI TCP Connection(2)-127.0.0.1] INFO  org.quartz.core.QuartzScheduler - Scheduler Scheduler_$_NON_CLUSTERED shutdown complete.
21-Oct-2021 15:27:29.327 警告 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [ROOT] 注册了JDBC驱动程序 [org.logicalcobwebs.proxool.ProxoolDriver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
21-Oct-2021 15:27:29.328 警告 [RMI TCP Connection(2)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc Web应用程序 [ROOT] 注册了JDBC驱动程序 [oracle.jdbc.OracleDriver],但在Web应用程序停止时无法注销它。 为防止内存泄漏,JDBC驱动程序已被强制取消注册。
[2021-10-21 03:27:29,367] Artifact gdczsam:war exploded: Error during artifact deployment. See server log for details.
2021-10-21 15:27:29.424 [Scheduler_Worker-9] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-10] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-6] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-1] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-7] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-8] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-4] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-5] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-3] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.
2021-10-21 15:27:29.424 [Scheduler_Worker-2] DEBUG org.quartz.simpl.SimpleThreadPool - WorkerThread is shut down.

此前有个部署前提:部署前大佬说不用修改任何的配置

按照理解,那么就是部署并设置完善后就直接发布,结果最后发现原因居然是要修改一下服务器号……将服务器号码修改后重新发布就正常启动了

forceservercode=9876
<think>由于用户声明完全不懂JavaIDEA,我将从零开始详细指导,包括环境搭建、项目创建、代码编写、运行和验证的全过程。 ### 详细步骤指南(从零开始) #### 一、环境准备 1. **安装JDK**: - 下载JDK 8或11([Oracle官网](https://www.oracle.com/java/technologies/javase-downloads.html)) - 安装后配置环境变量: - `JAVA_HOME`:指向JDK安装目录(如`C:\Program Files\Java\jdk1.8.0_291`) - `PATH`:添加`%JAVA_HOME%\bin` 2. **安装IntelliJ IDEA**: - 下载[Community版](https://www.jetbrains.com/idea/download/)(免费) - 安装时勾选`Add launchers dir to the PATH` 3. **安装Tomcat**: - 下载[Tomcat 9](https://tomcat.apache.org/download-90.cgi)(解压到无空格路径,如`D:\apache-tomcat-9.0.50`) #### 二、创建Web项目 1. **启动IDEA** → `New Project` 2. 选择左侧`Java Enterprise` → 勾选`Web Application` → 设置项目名(如`MyWebApp`) 3. 配置Tomcat- 顶部菜单 `Run` → `Edit Configurations` → `+` → `Tomcat Server` → `Local` - `Application Server` 点击 `Configure` → 选择Tomcat解压目录 - 回到`Deployment`标签 → `+` → `Artifact` → 选择`war exploded` #### 三、实现Servlet处理Cookie/Session 1. **创建Servlet**: - 在`src/main/java`右键 → `New` → `Servlet` → 命名`CookieSessionServlet` - 粘贴以下代码: ```java import javax.servlet.annotation.WebServlet; import javax.servlet.http.*; import java.io.IOException; import java.io.PrintWriter; import java.util.Date; import java.util.UUID; @WebServlet("/auth") public class CookieSessionServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException { // 设置响应类型 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); // 1. 读取所有Cookie Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { out.println("<p>Cookie: " + cookie.getName() + " = " + cookie.getValue() + "</p>"); } } // 2. 创建新Cookie Cookie userCookie = new Cookie("user_token", UUID.randomUUID().toString()); userCookie.setMaxAge(7 * 24 * 60 * 60); // 7天有效期 response.addCookie(userCookie); // 3. 操作Session HttpSession session = request.getSession(true); // 获取或创建session session.setAttribute("login_time", new Date()); // 输出信息 out.println("<h1>登录成功</h1>"); out.println("<p>Session ID: " + session.getId() + "</p>"); out.println("<p>登录时间: " + session.getAttribute("login_time") + "</p>"); } } ``` #### 四、添加Filter设置HTTP头 1. **创建Filter**: - 在`src/main/java`右键 → `New` → `Servlet Filter` → 命名`HeaderFilter` - 粘贴代码: ```java import javax.servlet.*; import javax.servlet.annotation.WebFilter; import java.io.IOException; @WebFilter("/*") // 过滤所有请求 public class HeaderFilter implements Filter { @Override public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException { HttpServletResponse httpResponse = (HttpServletResponse) response; // 添加自定义HTTP头 httpResponse.setHeader("X-Security-Tag", "High"); httpResponse.setHeader("X-Application-Name", "MyWebApp"); chain.doFilter(request, response); // 继续执行后续过滤器或Servlet } } ``` #### 五、编译和运行 1. **启动项目**: - 点击IDEA顶部绿色三角按钮(或`Shift+F10`) - Tomcat会自动编译并部署项目 2. **访问Servlet**: - 浏览器打开 `http://localhost:8080/MyWebApp/auth` - 页面显示Cookie信息、Session ID和登录时间 - 按`F12`打开开发者工具: - `Application`标签 → `Cookies` 查看`user_token` - `Network`标签 → 刷新页面 → 选中`auth`请求 → 查看`Response Headers`中的自定义头 #### 六、网络连接监控(Windows) 1. **打开命令提示符**: - `Win+R`输入`cmd` 2. **执行命令**: ```bat :: 查看所有监听端口 netstat -ano | findstr "LISTENING" :: 统计监听端口数量 netstat -ano | findstr "LISTENING" | find /c "LISTENING" :: 查找Tomcat端口(默认8080) netstat -ano | findstr ":8080" ``` #### 七、常见错误解决 | 错误现象 | 解决方案 | |---------|----------| | 404未找到 | 检查URL中的项目名(`/MyWebApp/auth`) | | 500内部错误 | 查看Tomcat日志(IDEA运行窗口) | | 端口冲突 | 修改Tomcat端口:`conf/server.xml`中`<Connector port="8080">` | §§相关问题§§ 1. 如何在IDEA中调试Servlet程序? 2. 如何配置Tomcat使用HTTPS协议? 3. 除了netstat命令,还有哪些工具可以监控网络端口? 4. 如何设置Cookie的Secure和SameSite属性? 5. 在Filter中如何阻止特定请求继续执行?</think>### 零基础详细指南:Java Web开发全流程 #### 一、环境安装(Windows系统) 1. **安装JDK 17**: - 下载地址:https://adoptium.net/temurin/releases - 安装步骤:双击安装包 → 全部点"下一步" → 安装完成 - 验证安装:打开命令提示符输入 `java -version` 2. **安装IntelliJ IDEA**: - 下载地址:https://www.jetbrains.com/idea/download - 安装步骤: - 勾选"Add launchers dir to the PATH" - 关联.java文件类型 - 全部默认设置 3. **安装Tomcat 10**: - 下载地址:https://tomcat.apache.org/download-10.cgi - 解压到 `C:\apache-tomcat-10.1.24` #### 二、创建Web项目(详细步骤) 1. 打开IDEA → 新建项目 → 选择"Java Enterprise" 2. 配置: ```plaintext 名称:MyWebApp 模板:Web Application Java版本:17 勾选"Create web.xml" ``` 3. 添加Tomcat- 顶部菜单 Run → Edit Configurations → + → Tomcat Server → Local - Application Server → Configure → 选择Tomcat解压目录 - Deployment → + → Artifact → 选择war exploded #### 三、代码实现(详细到每个文件位置) 1. **创建Cookie/Session处理Servlet**: - 文件位置:`src/main/java/com/example/CookieServlet.java` ```java import javax.servlet.*; import javax.servlet.http.*; import java.io.*; @WebServlet("/cookie") public class CookieServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 1. 创建Cookie Cookie userCookie = new Cookie("user_id", "20230001"); userCookie.setMaxAge(60 * 60 * 24); // 有效期1天 response.addCookie(userCookie); // 2. 创建Session HttpSession session = request.getSession(); session.setAttribute("username", "张三"); // 3. 输出响应 response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); out.println("<h1>Cookie和Session已设置</h1>"); out.println("<p>访问<a href='check'>查看页面</a>验证</p>"); } } ``` 2. **创建验证Servlet**: - 文件位置:`src/main/java/com/example/CheckServlet.java` ```java @WebServlet("/check") public class CheckServlet extends HttpServlet { protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html;charset=UTF-8"); PrintWriter out = response.getWriter(); // 读取Cookie Cookie[] cookies = request.getCookies(); if (cookies != null) { for (Cookie cookie : cookies) { out.println("<p>Cookie: " + cookie.getName() + " = " + cookie.getValue() + "</p>"); } } // 读取Session HttpSession session = request.getSession(false); if (session != null) { out.println("<p>Session用户名: " + session.getAttribute("username") + "</p>"); } } } ``` 3. **添加Filter设置HTTP头**: - 文件位置:`src/main/java/com/example/HeaderFilter.java` ```java @WebFilter("/*") public class HeaderFilter implements Filter { public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; // 添加自定义HTTP头 response.setHeader("X-My-Tag", "CreatedByStudent"); chain.doFilter(req, res); } } ``` #### 四、编译运行(详细步骤) 1. 点击IDEA右上角绿色三角按钮 ▶️ 启动项目 2. 自动打开浏览器访问:`http://localhost:8080/MyWebApp/cookie` 3. 验证: - 页面显示"Cookie和Session已设置" - 点击"查看页面"链接 - 浏览器开发者工具 → Network → 查看Headers中的: - `Set-Cookie` 响应头 - `X-My-Tag` 自定义头 - Cookies标签页查看存储的Cookie #### 五、网络连接监控(Windows命令) 1. 打开命令提示符(Win+R输入cmd) 2. 执行命令: ```bat :: 查看所有网络连接 netstat -ano :: 仅查看监听端口 netstat -ano | findstr "LISTENING" :: 统计监听端口数量 netstat -ano | findstr "LISTENING" | find /c "LISTENING" ``` #### 六、常见问题解决方案 | 问题现象 | 解决方法 | |----------|----------| | 404错误 | 检查URL是否包含项目名(/MyWebApp) | | 无法启动Tomcat | 关闭占用8080端口的进程:`taskkill /F /PID <进程ID>` | | 修改代码不生效 | 菜单Build → Rebuild Project | | 看不到Cookie | 检查浏览器是否禁用Cookie |
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值