1

我正在使用 twitter4j 为 Java 中的 Google App Engine (GAE) 应用程序实现 OAuth,在 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: 类 com.google.appengine.tools.development.agent.runtime.Runtime 无法在 twitter4j.conf.ConfigurationContext 使用修饰符“”访问类 twitter4j.conf.PropertyConfigurationFactory 的成员.(ConfigurationContext.java:47) at twitter4j.TwitterFactory.(TwitterFactory.java:39) at Audienceinsights.server.authentication.twitter.SigninServlet.doGet(SigninServlet.java:29)

我在 StackOverflow 上搜索了类似的错误,但找不到任何答案。

4

1 回答 1

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 => Preferences (Command + ,)

3]导航到Java =>已安装的JRE

4]单击添加

5]选择标准VM,单击下一步

6]对于字段JRE Home,单击“目录...”按钮

7]导航到\Library\Java\JavaVirtualMachines\jdk1.7.0_67.jdk\Contents\Home\jre,点击打开

8] 在 JRE Name 字段中,它可能会显示 Home,但我将我的重命名为“Java SE 7 [1.7.0_67]”

9]单击完成(这会将您带回到Java的首选项中的屏幕=>已安装的JRE)

10] 在新安装的 JRE 旁边打勾(在我的例子中是“Java SE 7 [1.7.0_67]”,因为这是我在步骤 8 中命名的)

11] 通过转到 File => Refresh 刷新您的 Eclipse 项目

一旦我执行了上述步骤,我就能够避免原始问题中报告的错误消息。

于 2014-10-07T15:46:32.997 回答