When you initiate the conflict your people will tolerate it for a while, but then may become quite unhappy. When someone else declares the war, especially a traditional enemy, your people are more forgiving. Carrying on a defensive war, that is keeping your troops at home, is more tolerable than offensive campaigns.
The only way to end war weariness is to stop the war. You can use all your normal tricks to "make 'em happier", but the war weariness remains until the war stops.