Tomcat 8无法通过反射访问受保护的成员

时间:2015-07-02 12:03:32

标签: java tomcat reflection access-modifiers

我有一个非常奇怪的情况。我的应用程序中的反射适用于Tomcat 7,但不适用于Tomcat 8。 我正在使用反射来按名称从生成的对象中检查公共字段。

当在Tomcat 8上运行应用程序时,会发生非法访问异常。

Field field = response.getClass().getDeclaredField(RESPONSE_FIELD);

        field.setAccessible(true);

        // get response status
        String status = (String) field.get(response);



java.lang.IllegalAccessException: Class com.ccf.services.DistributedCustomerCareService can not access a member of class com.ccf.generated.CcfGetProfileRes with modifiers "protected".

我不知道这个错误怎么可能,anyboe有什么想法吗?

注意:两台PC都使用Java 7。

1 个答案:

答案 0 :(得分:0)

这似乎是Tomcat和/或XSD生成的类的一些临时问题。两次重新部署后,问题自行删除。