错误:预期类型为 com.MyApp.Main 的接收者,但得到了 java.lang.Class

2024-03-07

我试图将一个类导入到 MVEL 的实现中,但出现以下错误:

[错误:预期接收者类型为 com.MyApp.Main,但得到了 java.lang.Class]

这是设置 MVEL 的方法:

public void runCode() {
 final String theCode = "Main.sendText();";
        System.setProperty("java.version", "1.6");

        new Thread(new Runnable() {

        public void run() {

            ParserContext context = new ParserContext();
            context.addImport("Main", Main.class);                      
            Serializable compiled = MVEL.compileExpression(theCode, context); // compile the expresion

                HashMap vars = new HashMap();
                vars.put("x", new Integer(10));
                vars.put("y", new Integer(10));

                Integer result = (Integer) MVEL.executeExpression(compiled, vars);          
        }
    }).start();
}

主类:

public void sendText(){
System.out.println("Success!");
}

Logcat:

08-05 20:23:31.900: E/AndroidRuntime(19968): FATAL EXCEPTION: Thread-30751
08-05 20:23:31.900: E/AndroidRuntime(19968): [Error: expected receiver of type com.MyApp.Main, but got java.lang.Class<com.MyApp.Main>]
08-05 20:23:31.900: E/AndroidRuntime(19968): [Near : {... Main.sendText(); ....}]
08-05 20:23:31.900: E/AndroidRuntime(19968):              ^
08-05 20:23:31.900: E/AndroidRuntime(19968): [Line: 1, Column: 1]
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:435)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.optimizeAccessor(ReflectiveAccessorOptimizer.java:143)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.optimizers.dynamic.DynamicOptimizer.optimizeAccessor(DynamicOptimizer.java:67)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.ast.ASTNode.optimize(ASTNode.java:159)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.ast.ASTNode.getReducedValueAccelerated(ASTNode.java:115)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.MVELRuntime.execute(MVELRuntime.java:85)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.compiler.CompiledExpression.getDirectValue(CompiledExpression.java:123)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:119)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.compiler.CompiledExpression.getValue(CompiledExpression.java:113)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.MVEL.executeExpression(MVEL.java:969)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at com.MyApp.KessilLightScenes$1.run(KessilLightScenes.java:136)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at java.lang.Thread.run(Thread.java:856)
08-05 20:23:31.900: E/AndroidRuntime(19968): Caused by: java.lang.IllegalArgumentException: expected receiver of type com.MyApp.Main, but got java.lang.Class<com.MyApp.Main>
08-05 20:23:31.900: E/AndroidRuntime(19968):    at java.lang.reflect.Method.invokeNative(Native Method)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at java.lang.reflect.Method.invoke(Method.java:511)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:1104)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.getMethod(ReflectiveAccessorOptimizer.java:987)
08-05 20:23:31.900: E/AndroidRuntime(19968):    at org.mvel2.optimizers.impl.refl.ReflectiveAccessorOptimizer.compileGetChain(ReflectiveAccessorOptimizer.java:344)
08-05 20:23:31.900: E/AndroidRuntime(19968):    ... 11 more

知道如何修复这个错误吗?谢谢


听起来您尝试访问的方法可能需要是静态的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误:预期类型为 com.MyApp.Main 的接收者,但得到了 java.lang.Class 的相关文章

  • 使用 Google Places Autocomplete API 的 REQUEST_DENIED 响应

    我正在开发 Android 应用程序 它使用谷歌的地点自动完成 API 当尝试点击以下网址时 我得到的答复如下 预测 状态 REQUEST DENIED 我从下面的链接获得了 API 密钥Google API 控制台 http code g
  • 我可以在 firebase android 中加载另一个用户个人资料图像吗?

    如果我有其他用户的电子邮件但我以其他用户身份登录 我是否可以加载其他用户的个人资料图像 如果您使用 Firebase Storage 那么从技术上讲是的 它只是一个您可以从中检索任何文件的文件系统 如果不伪造您的应用程序 获取 api 密钥
  • Android Studio:lambda 不起作用[重复]

    这个问题在这里已经有答案了 当尝试使用 lambda 表达式时 我遇到了一些 Gradle 构建错误 错误 41 100 错误 source 1 7 不支持 lambda 表达式 使用 source 8 或更高版本来启用 lambda 表达
  • Android Studio - 错误:未捕获翻译错误:com.android.dx.cf.code.SimException:本地 0001:无效

    我刚刚使用 Android Studio 设置了一台新计算机 并从 bitbucket 导入了我的项目 问题是我现在在尝试构建项目时遇到此错误 信息 Gradle 任务 app clean app generateDebugSources
  • Android Lollipop prepareAsync() 需要很长时间才能返回

    在 Samsung Galaxy Note 4 上的 Android Lollipop 几周前刚刚从 4 4 4 更新 上 prepareAsync 几乎需要 20 秒来加载实时流 在 4 4 4 上 只需要 2 3 秒 并且没有错误 见下
  • Android - 当不在栏顶部时推送通知空白

    我在使用 Android 推送通知时遇到一个小问题 如果有 3 个通知 并且只有其中一个显示标题和消息 位于酒吧顶部的那个 如果有人知道可能是什么问题 请告诉我 请参阅此链接上的图像 这就是我接收通知的方式http postimg org
  • 使用 Android 播放任意音调

    有没有办法让Android发出任意频率的声音 意思是 我不想预先录制声音文件 我环顾四周 音调发生器 http developer android com reference android media ToneGenerator html
  • SQLite支持android的数据类型有哪些

    谁能告诉我 SQLITE 中支持 ANDROID 的数据类型列表 我想确认 TIME 和 DATE 数据类型 这里有一个list http www sqlite org datatype3 htmlSQLite 的数据类型 支持时间和日期间
  • AnalyticsService 未在应用程序清单中注册 - 错误

    我正在尝试使用 sdk 中提供的以下文档向 Android 应用程序实施谷歌分析服务 https developers google com analytics devguides collection android v4 https d
  • Android Web Intent 问题

    G day 免责声明 我不是 Android 开发人员 我正在对我所描述的问题进行质量检查 我用来描述这个问题的技术术语可能是错误的 我正在测试一个 Android 应用程序 该应用程序在其清单中描述它可以使用 type 的地址处理 Web
  • 如何从android获取应用程序安装时间

    我尝试了一些方法 但没有成功 请帮助我 PackageManager pm context getPackageManager ApplicationInfo appInfo pm getApplicationInfo app packag
  • Integer.parseInt("0x1F60A") 以 NumberformatException 结束

    我尝试从数据库中获取长字符串内的表情符号代码 格式如下 0x1F60A 所以我可以访问代码 但它将是String 起初 我尝试通过执行以下操作来转换变量tv setText beforeEmo getEmijoByUnicode int e
  • 加快 ImageView 中的缩放功能

    我目前正在处理非常大的图像 7 10mb 由于多种原因无法调整大小或压缩 现在 我们的想法是在自定义 ImageView 中显示它们 使用户能够进行双击缩放 捏合缩放等 我使用这个库来完成这项工作 https github com Mike
  • 如何在android中的操作栏中创建Edittext?

    我们可以在操作栏中使用编辑文本吗 在阅读了 Google 中的大量资源后 我找不到如何在操作栏中创建编辑文本 谁能告诉我该怎么做 您可以设置自定义View为了ActionBar像这样 getActionBar setCustomView R
  • 从手机访问本地主机[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我正在使用
  • 不显示 WRITE_EXTERNAL_STORAGE 的权限对话框

    I want to download a file using DownloadManager And DownloadManager wants to WRITE EXTERNAL STORAGE permission I have in
  • 如何获取android手机型号、版本、sdk详细信息?

    如何获取android手机型号 版本 sdk详细信息 首先 看看 android sdk 页面上的这些 Build 类 http developer android com reference android os Build html h
  • 在 Android 中上传文件出现内存不足错误

    我的上传代码如下 String end r n String twoHyphens String boundary try URL url new URL ActionUrl HttpURLConnection con HttpURLCon
  • Android - iphone 风格 tabhost [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • putFragment() - 片段 x 当前不在 FragmentManager 中

    上面的标题被问了很多次 但答案似乎与FragmentStatePagerAdapter这与我的问题无关 我正在使用该方法putFragment Bundle String Fragment 直接地 The 安卓文档 http develop

随机推荐

  • 为什么我的堆栈指针仅以 16 的倍数递增?

    使用以下 C 代码 void func int a 1 b 2 c 3 编译使用gcc S O o myfile c我得到输出 file myfile c intel syntax noprefix text globl func type
  • 在Python中将外部函数分配给类变量

    我试图将其他地方定义的函数分配给类变量 以便稍后可以在实例的方法之一中调用它 如下所示 from module import my func class Bar object func my func def run self self f
  • CLR是虚拟机吗?

    我读过一本提到 net 的书CLR 作为虚拟机 任何人都可以证明这一点吗 为什么我们在某些开发平台上需要虚拟机的概念 是否有可能开发一个完全面向对象且像 net一样强大的本机框架 没有虚拟机的框架 将 CLR 称为虚拟机的书是 专业 Net
  • 如何在 Bash 中将文件名中的填充数字清零?

    使用 Bash 重命名以下形式的文件的最佳方法是什么 foo1 foo2 foo1300 fooN 使用零填充的文件名 foo00001 foo00002 foo01300 fooN 这不是纯粹的 bash 但是使用 Perl 版本更容易r
  • 如何在 Java 中验证公钥和私钥对

    有没有一种方法可以在 java 中验证给定的私钥 例如某个 key 文件 是否与某个使用 RSA 算法的某个 pub 文件匹配的公钥 您可以通过以下方式验证密钥对是否匹配 创建一个挑战 足够长度的随机字节序列 signing的挑战私钥 验证
  • Blackberry:读取项目中打包的文本文件(更快)

    我尝试过这种方法 但对于稍大的文本文件来说 它确实很慢 有谁知道阅读项目中包含的纯文本文件的更好方法 有没有办法使用 FileConnection 使用信息组合找出答案 IOUtilities streamToBytes is 直接在输入流
  • 当涉及部分操作时,不会调用 PerformBatchUpdates 完成处理程序

    到目前为止 这里的代码片段几乎适用于NSFetchedResultsController UICollectionView 根据所提供的信息 https developer apple com videos play wwdc2018 22
  • JWT 身份验证,无需在每个请求上获取用户详细信息

    我正在 Spring Security 中实现 JWT 身份验证 我有预定义的角色 例如 普通用户 管理员等 我有以下令牌有效负载 sub nick iat
  • 优化 R 中的正则表达式以进行子字符串提取

    我对之前的答案有一个后续问题 可以在这里找到 R 中拆分不均匀字符串 可变子字符串和分隔符 https stackoverflow com q 69921210 3832970 总之 我想提取遵循以下模式的字符串中的粗体文本 sp Q2UV
  • beanstalkd 的统计数据/监视器/检查器

    有谁知道有一个可以监控 beanstalkd 队列的应用程序吗 我正在寻找一些可以显示管道和工作统计信息并允许您检查详细信息的东西 我对语言 平台并不是很挑剔 只是想在编写自己的语言 平台之前知道是否有可用的东西 所有这些以及至少另外两个都
  • Selenium chrome 驱动程序袜子代理配置

    我在为 Chrome 驱动程序设置袜子代理时遇到问题 Proxy proxy new Proxy proxy setProxyType Proxy ProxyType MANUAL proxy setAutodetect false pro
  • 为什么我无法以种子用户身份登录?

    我正在开发一个新的 ASP NET MVC 项目 使用存储在数据库中的个人帐户进行身份验证 这是我的类 每次测试时都会使用示例数据为数据库播种 public class DevelopmentInitializer DropCreateDa
  • getMinutes() 0-9 - 如何显示两位数字?

    var date 2012 01 18T16 03 var date new Date date console log date getMinutes console log date getMinutes length 这将返回 3 如
  • OS X 上的输入管理器

    我想知道 InputManager 是否仍然是 Leopard 的一部分 是否有一个很好的例子可以告诉我它有什么用处 InputManagers 在 Leopard 上仍然可用 except 它们需要位于本地域中 Library Input
  • 派生类不会重写具有不同签名的虚函数

    我有一个派生类 我希望其中一个函数覆盖其在基类中的版本 但具有不同的签名 简单的例子 include stdio h bool use foo false class Foo public virtual int func double x
  • 量角器:按住 Ctrl 单击

    我正在尝试使用 ctrl 单击连续元素来选择页面上的多个元素 此功能在手动完成时工作正常 但我在使用量角器进行自动化时遇到了一些麻烦 这是我的 ptor 函数 this selectElements function names for v
  • 预期块结束 YAML 错误

    将此 YAML 文件粘贴到在线 yaml 解析器中时 我收到预期的块结束错误 ADDATTEMPTING Tentative d ajout ATTEMPTINGTOGIVE Tenter de donner ATTEMPTINGTOSET
  • 解析包含尾随逗号的“JSON”

    有没有可以处理尾随逗号的 Python JSON 解析器 我正在使用来自外部源的 JSON 并且无法控制它 获取 PyYAML JSON 是 YAML 的子集 因此 YAML 解析器应该解析大多数 JSON YAML 的语法允许序列中尾随逗
  • java spring MappingJacksonJsonView 没有在 mongodb ObjectId 上执行 toString

    我在 SpringMVC 应用程序中使用 MappingJacksonJsonView 从控制器渲染 JSON 我希望对象中的 ObjectId 呈现为 toString 但它会将 ObjectId 序列化为其各个部分 它在我的 Veloc
  • 错误:预期类型为 com.MyApp.Main 的接收者,但得到了 java.lang.Class

    我试图将一个类导入到 MVEL 的实现中 但出现以下错误 错误 预期接收者类型为 com MyApp Main 但得到了 java lang Class 这是设置 MVEL 的方法 public void runCode final Str