Я только что обновил Tapestry 5.3.8 до 5.4.0, а затем обнаружил, что аннотация @Secured имеет проблему. Если я перейду на страницу с этим @Secured, будут выброшены исключения org/apache/tapestry5/services/TransformMethodSignature и could not initialize class nu.localhost.tapestry5.springsecurity.services.internal.TransformConstants2 (без подробностей). Он больше не поддерживается в 5.4.0? Или мне нужно что-то обновить в моем pom.xml?
пом.xml
<dependency>
<groupId>org.apache.tapestry</groupId>
<artifactId>tapestry-core</artifactId>
<version>${tapestry-release-version}</version>
</dependency>
<dependency>
<groupId>org.apache.tapestry</groupId>
<artifactId>tapestry-hibernate</artifactId>
<version>${tapestry-release-version}</version>
</dependency>
<dependency>
<groupId>org.apache.tapestry</groupId>
<artifactId>tapestry-upload</artifactId>
<version>${tapestry-release-version}</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-c3p0</artifactId>
<version>4.2.0.Final</version>
</dependency>
<dependency>
<groupId>com.mchange</groupId>
<artifactId>c3p0</artifactId>
<version>0.9.5.2</version>
</dependency>
<dependency>
<groupId>org.apache.tapestry</groupId>
<artifactId>tapestry-spring</artifactId>
<version>${tapestry-release-version}</version>
</dependency>
<dependency>
<groupId>org.apache.tapestry</groupId>
<artifactId>tapestry-kaptcha</artifactId>
<version>${tapestry-release-version}</version>
</dependency>
<dependency>
<groupId>org.got5</groupId>
<artifactId>tapestry5-jquery</artifactId>
<version>4.1.1</version>
</dependency>
<dependency>
<groupId>com.github.lltyk</groupId>
<artifactId>tapestry-spring-security</artifactId>
<version>3.0.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.0.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>4.3.0.RELEASE</version>
<scope>test</scope>
</dependency>
В том-то и проблема, что нет stacktrace/detail. Я обновил свой вопрос, указав, как выглядит мой pom.xml.
Похоже, в 5.4.0 org.apache.tapestry5.services.TransformMethodSignature больше не доступен. Если да, то какая замена?
Я только что проверил nu.localhost.tapestry5.springsecurity.services.internal.TransformConstants2, и один из классов импорта — org.apache.tapestry5.services.TransformMethodSignature




Что ж, после нескольких дней борьбы я наконец понял, что эта библиотека:
<dependency>
<groupId>com.github.lltyk</groupId>
<artifactId>tapestry-spring-security</artifactId>
<version>3.0.3</version>
</dependency>
Не могу идти в ногу с Tapesty 5.4, потому что у него есть класс: nu.localhost.tapestry5.springsecurity.services.internal.TransformConstants2, который ссылается на org.apache.tapestry5.services.TransformMethodSignature, который больше не доступен в Tapestry 5.4.
Я пытался обновить tapestry-spring-security до самой высокой версии: 3.0.5, но все еще не могу идти в ногу с Tapestry 5.4, поэтому единственный способ решить эту проблему — удалить ее. И чтобы заменить все функции, которые были предоставлены tapestry-spring-security, мне нужно добавить 4 новых библиотеки в pom (в вашем случае вам может понадобиться добавить больше или меньше 4): spring-security-core: 4.0.0.M1, spring-security-web: 4.2.3 .РЕЛИЗ, spring-dao: 2.0.8, servlet-api: 2.5
В моем случае мне нужно скопировать код из первоисточника для этих классов: ЛогаутСервис (интерфейс), ЛогаутСервисИмпл, Если Роль и ЕслиВошелВход. Создайте файлы и вставьте код.
В 5.4.3 работает нормально, есть еще подробности? Можете показать трассировку стека?