1. 程式人生 > >Jetty啟動時報class "javax.servlet.HttpConstraintElement"'s signer information does not match的原因

Jetty啟動時報class "javax.servlet.HttpConstraintElement"'s signer information does not match的原因

最近在支援一個專案,因為原來的組撤出來了,因此交接的不是很全面,很多問題找不到人問,只能自己查。今天在啟動工程的時候啟動失敗,丟擲:

Exception in thread "main" java.lang.SecurityException: class "javax.servlet.HttpConstraintElement"'s signer information does not match signer information of other classes in the same package

查了一下是包衝突了,用IDEA查了一下maven的依賴關係,是一個jar包沒有排除javax.servlet,排除後問題解決,根據參考資料的說法,Jetty8版本的包的依賴包org.eclipse.jetty.orbit.javax.servlet3.0.jar提供了javax.servlet.HttpConstraintElement類,而javax.servlet.servlet-api.jar的依賴包javax.servlet.javax.servlet-api-3.0.1.jar也提供了javax.servlet.HttpConstraintElement類,兩者發生了衝突。可以使用7.6.14.v20131031版本的Jetty解決此問題。

當然,我是別的包裡的依賴沒有排除導致的,不過這次確實花費了很多的時間去查詢問題,這次的經驗可以為以後遇到此類問題提供一個解決思路。

參考連結:http://www.cnblogs.com/gao241/p/3501578.html