如何解决java.lang.RuntimeException:存根! .java 文件中有错误?
How to resolve java.lang.RuntimeException: Stub! error in .java file?
我正在尝试使用我在 Weka GUI 上创建的 .model 文件对实例进行分类。看来我已经成功分类了测试实例,但是,我不确定我是否能够成功加载我的.model文件 and Stub compiler error.
我已尝试删除 extends AppCompatActivity
,如果这对 .model 上传有任何影响。事实证明,要使用 getAssets()
,代码必须在 activity 中。但是,我仍然不确定模型是否有上传和异常编译错误。我遵循了@davidmascharka work on GitHub 的基本框架(他还从资产中加载了一个 WEKA 模型),但我的没有编译。
这是我的代码:
package com.example.owner.introductoryapplication;
import android.support.v7.app.AppCompatActivity;
import weka.classifiers.Classifier;
import weka.classifiers.rules.DecisionTable;
import weka.core.Attribute;
import weka.core.DenseInstance;
import weka.core.Instances;
import java.util.ArrayList;
public class Test extends AppCompatActivity {
public static void main(String[] args) {
Test test = new Test();
test.start();
}
public void start() {
//LOADS THE MODEL...------------------------------------------------------
String rootPath = "/assets/";
String fileName = "PGBD_DecisionTableUPD.model";
Classifier cls = null;
try {
//cls = (Classifier) weka.core.SerializationHelper.read(rootPath + fileName);
cls = (DecisionTable) weka.core.SerializationHelper.read(getAssets().open(fileName));
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是我的错误输出:
Exception in thread "main" java.lang.RuntimeException: Stub!
at android.content.Context.<init>(Context.java:67)
at android.content.ContextWrapper.<init>(ContextWrapper.java:30)
at android.view.ContextThemeWrapper.<init>(ContextThemeWrapper.java:40)
at android.app.Activity.<init>(Activity.java:643)
at android.support.v4.app.SupportActivity.<init>(ComponentActivity.java:46)
at android.support.v4.app.FragmentActivity.<init>(FragmentActivity.java:68)
at android.support.v7.app.AppCompatActivity.<init>(AppCompatActivity.java:62)
at com.example.owner.introductoryapplication.Test.<init>(Test.java:13)
at com.example.owner.introductoryapplication.Test.main(Test.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)
Process finished with exit code 1
我希望程序至少可以编译!我完全不知道为什么不是。我尝试切换我的依赖项的顺序,希望这会有所作为,但没有运气。
有什么想法吗?
提前致谢。
之前可能已经介绍过,但是 weka.jar
仅 允许 Stub 实现。本质上,您必须将 运行 设置配置为 "app" 而不是特定文件。
如果您想查看特定文件的工作原理,则可以为您的应用使用 debug
选项。
我正在尝试使用我在 Weka GUI 上创建的 .model 文件对实例进行分类。看来我已经成功分类了测试实例,但是,我不确定我是否能够成功加载我的.model文件 and Stub compiler error.
我已尝试删除 extends AppCompatActivity
,如果这对 .model 上传有任何影响。事实证明,要使用 getAssets()
,代码必须在 activity 中。但是,我仍然不确定模型是否有上传和异常编译错误。我遵循了@davidmascharka work on GitHub 的基本框架(他还从资产中加载了一个 WEKA 模型),但我的没有编译。
这是我的代码:
package com.example.owner.introductoryapplication;
import android.support.v7.app.AppCompatActivity;
import weka.classifiers.Classifier;
import weka.classifiers.rules.DecisionTable;
import weka.core.Attribute;
import weka.core.DenseInstance;
import weka.core.Instances;
import java.util.ArrayList;
public class Test extends AppCompatActivity {
public static void main(String[] args) {
Test test = new Test();
test.start();
}
public void start() {
//LOADS THE MODEL...------------------------------------------------------
String rootPath = "/assets/";
String fileName = "PGBD_DecisionTableUPD.model";
Classifier cls = null;
try {
//cls = (Classifier) weka.core.SerializationHelper.read(rootPath + fileName);
cls = (DecisionTable) weka.core.SerializationHelper.read(getAssets().open(fileName));
} catch (Exception e) {
e.printStackTrace();
}
}
}
这是我的错误输出:
Exception in thread "main" java.lang.RuntimeException: Stub!
at android.content.Context.<init>(Context.java:67)
at android.content.ContextWrapper.<init>(ContextWrapper.java:30)
at android.view.ContextThemeWrapper.<init>(ContextThemeWrapper.java:40)
at android.app.Activity.<init>(Activity.java:643)
at android.support.v4.app.SupportActivity.<init>(ComponentActivity.java:46)
at android.support.v4.app.FragmentActivity.<init>(FragmentActivity.java:68)
at android.support.v7.app.AppCompatActivity.<init>(AppCompatActivity.java:62)
at com.example.owner.introductoryapplication.Test.<init>(Test.java:13)
at com.example.owner.introductoryapplication.Test.main(Test.java:15)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.intellij.rt.execution.application.AppMainV2.main(AppMainV2.java:131)
Process finished with exit code 1
我希望程序至少可以编译!我完全不知道为什么不是。我尝试切换我的依赖项的顺序,希望这会有所作为,但没有运气。
有什么想法吗?
提前致谢。
之前可能已经介绍过,但是 weka.jar
仅 允许 Stub 实现。本质上,您必须将 运行 设置配置为 "app" 而不是特定文件。
如果您想查看特定文件的工作原理,则可以为您的应用使用 debug
选项。