我正在使用twitter4j实现OAuth,用于Java中的Google App Engine(GAE)应用程序,在Eclipse中的Mac上进行开发。我在测试登录时遇到以下错误:
访问/ signintwitter时出现问题。原因是:
java.lang.IllegalAccessException: Class com.google.appengine.tools.development.agent.runtime.Runtime can not
访问类twitter4j.conf.PropertyConfigurationFactory的成员 带修饰语“”引起:
java.lang.AssertionError:java.lang.IllegalAccessException:Class com.google.appengine.tools.development.agent.runtime.Runtime不能 访问类twitter4j.conf.PropertyConfigurationFactory的成员 修饰语“”at twitter4j.conf.ConfigurationContext。(ConfigurationContext.java:47) 在twitter4j.TwitterFactory。(TwitterFactory.java:39)at audienceinsights.server.authentication.twitter.SigninServlet.doGet(SigninServlet.java:29)
我搜索了StackOverflow类似的错误但找不到任何答案。
答案 0 :(得分:1)
根据https://groups.google.com/forum/#!msg/twitter4j/a-VFnkmv_iE/-py4lUS5v7sJ,解决方案是升级到1.7.0_40。那个帖子有点旧,所以我升级到了当前最新的Java 1.7,即1.7.0_67。这解决了问题。
在Eclipse Luna Release(4.4.0)中修复Mac的步骤:
1]从http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html下载Java 1.7.0_67,然后双击下载以遵循安装说明(采用所有默认设置)。
2]在Eclipse中转到Eclipse =>首选项(Command +,)
3]导航到Java =>已安装的JRE
4]点击添加
5]选择Standard VM,单击Next
6]对于字段JRE Home,单击“目录...”按钮
7]导航到\ Library \ Java \ JavaVirtualMachines \ jdk1.7.0_67.jdk \ Contents \ Home \ jre,单击“打开”
8]在JRE名称字段中,它可能会说Home但我将其重命名为“Java SE 7 [1.7.0_67]”
9]单击Finish(这会将您带回到Java =>已安装的JRE中的首选项中的屏幕)
10]勾选新安装的JRE旁边(在我的情况下是“Java SE 7 [1.7.0_67]”,因为这就是我在步骤8中命名的那个)
11]转到File =>刷新Eclipse项目刷新
执行上述步骤后,我就可以避免原始问题中报告的错误消息。