This problem has plagued me for a long time, mainly the direction of thinking wrong, so always wrong. My experience may not help the reader, I just want to leave a mark on myself and give a guide to a friend who is similar to me in the same situation.
Project Upgrade single sign-on, only need to change the individual configuration file can be completed, upgrade other projects is very smooth, do not know why this failure is so strange: Tomcat started successfully, but the access page error 404.
() PS: Failed to start startup, report the class in a configuration file is not found, I took a look at this configuration file is not in my Web project (we are using the MAVEN structure, in fact, the file is in the service project), so I thought that this configuration file is not needed, decisively to the comment. And then it started successfully. The problem was tracked for a long time and it turned out to be the result of this configuration file missing. )
1, the first suspicion is a single point of access to the system, to find relevant people to see, people do not care about me, it is no wonder that everyone is successful, I a failure, people have confidence is my problem.
2, suspected Tomcat has a problem, so to find a variety of tomcat problem, but also Baidu all kinds of symptoms like me. Finally, other systems were deployed to prove that Tomcat was innocent.
3, because the modification has not been initiated before the system, they are not sure that the original system is not the problem, so suspected that the original system inherent in the bug. Finally, after the verification of colleagues, the original system is good.
4, then confirm with me this upgrade is related.
5, then added a interceptor, breakpoint succeeded, into the SPRINGMVC source, running, running, 404.
6, I actually have a hint of doubt that the spring version of the issue of inconsistency. Of course, soon.
7, so I put the single sign-on interception removed, change back to the old version of single sign-on, start, still 404. Nani.. Unexpectedly in my colleague there is no error, in my error. My heart is a bit unpleasant.
8, then put the colleague code to come over, put to my local start success. At this moment, I think of the configuration file that I commented out of the beginning.
9, open the colleague code (upgrade single sign-on before the old code), see that configuration file comfortable and put it there. I'm sure it's going to take me five minutes to get it over with. (One minute to start a service and a few to test)
10, the first was my deletion of the configuration file added back, started, and indeed the error. So I went to see, sure enough this file does not exist, so follow the old code to see, this missing class, is in the upgrade when commented out of the jar bag. This is this ... Then that, how did I solve the last upgrade? So I took a look at the last upgrade of the system, NND, I actually built a same class, the old jar package of the class written to their own system ... Well, uh, I have to sigh, I was so smart. The same tricks, solve the problem.
Summary: Or that sentence, the more difficult to solve, the more bizarre problems, often the more low-level problems, in addition, to solve the problem of thinking, direction, if reversed, will never head. If it's normal for an old system like me, changed a little bit on the strange situation, the simplest way is to run the old system, if everything is normal, then check the modification point, if not so obvious, then 1.1 points to add, will always add to a point where the error occurred. This is the problem locator point.