codenameone - 由于 retrolambda 问题,构建 CN1 应用程序不起作用
问题描述
我的应用程序将不再为 iPhone 和 Android 构建,显然是由于 retrolambda 的问题。
我已经有一段时间没有构建了(我认为是 6-7 个月),但我认为我的应用程序使用 lambda 函数的方式没有显着变化(但我可能错了,因为我不确定如何阅读错误消息),所以我想知道 CN1 构建过程中是否发生了某些变化?
如果没有,任何有关如何“解码”以下错误日志以了解问题的帮助都会非常棒。我想我已经确定了有问题的代码,但它的编写方式似乎与之前成功编译的方式相同。
Executing: /usr/local/bin/pod --version Process return code is 0
Pods version: 1.10.0
User-level: 1000
Request Args:
-----------------
ios.background_modes=fetch
ios.multitasking=true
java.version=8
ios.project_type=ios
ios.testFlight=true
android.multidex=true
ios.statusbar_hidden=false
ios.application_exits=false
desktop.theme=iOS7Theme
ios.includePush=false
ios.buildType=debug
ios.interface_orientation=UIInterfaceOrientationPortrait:UIInterfaceOrientationPortraitUpsideDown:UIInterfaceOrientationLandscapeLeft:UIInterfaceOrientationLandscapeRight
ios.newStorageLocation=true
ios.enableBadgeClear=false
android.release=true
android.debug=false
-------------------
OS Version: 10.15.3
Executing: /Applications/Xcode11.3.app/Contents/Developer/usr/bin/xcodebuild -version Process return code is 0
Result is Xcode 11.3.1
Build version 11C505
Xcode version line matching pattern: Xcode 11.3.1
Executing: /Library/Java/JavaVirtualMachines/jdk1.8.0_172.jdk/Contents/Home/bin/java -Dretrolambda.inputDir=/Volumes/MacintoshHD2/temp/build4429909335558849128xxx/classes -Dretrolambda.classpath=/Volumes/MacintoshHD2/temp/build4429909335558849128xxx/classes:/var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/temp3257553847769871116.jar -Dretrolambda.outputDir=/Volumes/MacintoshHD2/temp/build4429909335558849128xxx/classes_retrolamda -Dretrolambda.bytecodeVersion=49 -Dretrolambda.defaultMethods=true -jar /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/temp5326134886678924546.jar Retrolambda 2.5.1
00:00 INFO: Bytecode version: 49 (Java 5)
00:00 INFO: Default methods: true
00:00 INFO: Input directory: /Volumes/MacintoshHD2/temp/build4429909335558849128xxx/classes
00:00 INFO: Output directory: /Volumes/MacintoshHD2/temp/build4429909335558849128xxx/classes_retrolamda
00:00 INFO: Classpath: [/Volumes/MacintoshHD2/temp/build4429909335558849128xxx/classes, /var/folders/p_/xlvwhg4101z8r81_nl13cds80000gn/T/temp3257553847769871116.jar]
00:00 INFO: Included files: all
00:00 INFO: Agent enabled: false
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$1
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$3
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$4
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$5
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$6
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$7
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyCheckBox$$Lambda$8
00:00 INFO: Saving lambda class: com/MyApp/MyApp/MyDateAndTimePicker$$Lambda$1
00:00 ERROR: Failed to run Retrolambda
java.lang.RuntimeException: Failed to backport class: com/MyApp/MyApp/ScreenListOfItemLists
at net.orfjackal.retrolambda.Transformers.transform(Transformers.java:129)
at net.orfjackal.retrolambda.Transformers.transform(Transformers.java:107)
at net.orfjackal.retrolambda.Transformers.backportClass(Transformers.java:47)
at net.orfjackal.retrolambda.Retrolambda.run(Retrolambda.java:83)
at net.orfjackal.retrolambda.Main.main(Main.java:28)
Caused by: java.lang.RuntimeException: Failed to backport lambda or method reference: com/MyApp/MyApp/ScreenListOfItemLists.lambda$addCommandsToToolbar$1(Lcom/codename1/ui/events/ActionEvent;)V (7)
at net.orfjackal.retrolambda.lambdas.LambdaReifier.reifyLambdaClass(LambdaReifier.java:42)
at net.orfjackal.retrolambda.lambdas.BackportLambdaInvocations$InvokeDynamicInsnConverter.backportLambda(BackportLambdaInvocations.java:187)
at net.orfjackal.retrolambda.lambdas.BackportLambdaInvocations$InvokeDynamicInsnConverter.visitInvokeDynamicInsn(BackportLambdaInvocations.java:176)
at net.orfjackal.retrolambda.asm.ClassReader.readCode(ClassReader.java:1519)
at net.orfjackal.retrolambda.asm.ClassReader.readMethod(ClassReader.java:1032)
at net.orfjackal.retrolambda.asm.ClassReader.accept(ClassReader.java:708)
at net.orfjackal.retrolambda.asm.ClassReader.accept(ClassReader.java:521)
at net.orfjackal.retrolambda.Transformers.lambda$transform$4(Transformers.java:107)
at net.orfjackal.retrolambda.Transformers.transform(Transformers.java:125)
... 4 more
Caused by: java.lang.IllegalAccessException: no such method: com.MyApp.MyApp.ScreenListOfItemLists.lambda$addCommandsToToolbar$1(ActionEvent)void/invokeSpecial
at java.lang.invoke.MemberName.makeAccessException(MemberName.java:867)
at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1003)
at java.lang.invoke.MethodHandles$Lookup.resolveOrFail(MethodHandles.java:1386)
at java.lang.invoke.MethodHandles$Lookup.findSpecial(MethodHandles.java:1004)
at net.orfjackal.retrolambda.lambdas.Types.toMethodHandle(Types.java:53)
at net.orfjackal.retrolambda.lambdas.Types.asmToJdkType(Types.java:26)
at net.orfjackal.retrolambda.lambdas.LambdaReifier.callBootstrapMethod(LambdaReifier.java:106)
at net.orfjackal.retrolambda.lambdas.LambdaReifier.reifyLambdaClass(LambdaReifier.java:37)
... 12 more
Caused by: java.lang.NoClassDefFoundError: com/parse4cn1/ParseObject
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:763)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:467)
at java.net.URLClassLoader.access$100(URLClassLoader.java:73)
at java.net.URLClassLoader$1.run(URLClassLoader.java:368)
at java.net.URLClassLoader$1.run(URLClassLoader.java:362)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:361)
at net.orfjackal.retrolambda.NonDelegatingClassLoader.loadClass(NonDelegatingClassLoader.java:25)
at java.lang.invoke.MethodHandleNatives.resolve(Native Method)
at java.lang.invoke.MemberName$Factory.resolve(MemberName.java:975)
at java.lang.invoke.MemberName$Factory.resolveOrFail(MemberName.java:1000)
... 18 more
Caused by: java.lang.ClassNotFoundException: com.parse4cn1.ParseObject
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at net.orfjackal.retrolambda.NonDelegatingClassLoader.loadClass(NonDelegatingClassLoader.java:27)
... 31 more
Process return code is 1
解决方案
这在复古 lambda 阶段失败,但与此无关。看到这个错误:
Caused by: java.lang.ClassNotFoundException: com.parse4cn1.ParseObject
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
at net.orfjackal.retrolambda.NonDelegatingClassLoader.loadClass(NonDelegatingClassLoader.java:27)
... 31 more
ParseObject
您的构建中缺少。如果项目中存在 build、bin、target 和 dist 目录,请尝试删除它们。似乎存在未正确包含的依赖项。还要确保您没有以任何方式更改类路径。
推荐阅读
- javascript - 在 jQuery 中拥有多个“setTimeout”的最佳方法是什么?
- wordpress - 需要在 Wordpress 中添加指向按钮的链接
- intellij-idea - IntelliJ UML 插件显示两个关系显示同一类依赖项的两个 UML 关系
- xampp - 数字数据类型的Mysql三等分问题
- python - 从孩子获取查询集对象以附加到父查询集
- javascript - 我使用了 styled-components 组件,我想在 Input 获得焦点时在它旁边显示一个按钮,但它不起作用
- apache-spark - Databricks Spark 引发 java.io.NotSerializableException:com.amazonaws.services.s3.AmazonS3Client
- node.js - “在“@angular/platform-browser”中找不到导出“文档”(导入为“i23”)
- r - 在 R Shiny 中调整 Plotly::subplot 的高度和宽度
- django - mypy 和 django:错误:没有为“六”安装库存根(或与 Python 3.9 不兼容)