[英]Spring CGLIB AopProxy interferes with Jersey resource method parameter validation
[英]Spring, Jersey, CGLIB and Javassist
我正在將一個舊項目從Ant遷移到Gradle(是的,2014年仍然有一個基於Ant的項目)。 它的lib/
dir中有各種各樣的廢話,我非常熱衷於在此遷移過程中丟棄任何不必要的內容。
該項目基於Spring 3.0.5
和Jersey 1.8
。 它不使用Hibernate,而是使用Cassandra。 該項目似乎認為它需要javassist 3.12.0
,但是沒有拉cglib
。
我以為我對其中的一種可能選擇使用javassist進行了模糊的回憶,但是似乎回憶起來對我來說是騙人的。 刪除此依賴關系安全嗎?
根據您使用Spring的方式,您可能需要添加對CGLIB的顯式依賴。 在3.0中將其標記為可選依賴項。 在Spring 3.2中,將CGLIB類重新打包到Spring JAR中,因此不再需要對CGLIB的顯式依賴 。 如果您是proxy-target-class="true"
或@Configuration
則需要CGLIB。
我剛剛檢查了一個與您的項目相似的項目(Spring 3.0.x和Jersey 1.x)。 我依賴Javassist,但Maven告訴我這是因為Hibernate。 我看不到從Jersey 1.x到Javassist的明確依賴關系。
如果您是我,我將把Javassist依賴項放在POM之外,並讓Maven在必要時負責將其引入。 如果我需要一個可選的依賴項,或者如果Maven對要包含的版本做出了錯誤的選擇,則僅在Javassist上添加顯式依賴項。
刪除此依賴關系安全嗎?
很難看到整個pom.xml或與Ant腳本一起使用的JAR列表。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.