在这篇文章中,我们将为您详细介绍java.lang.NoClassDefFoundError:com/mchange/v2/ser/Indirector的内容。此外,我们还会涉及一些关于###Erro
在这篇文章中,我们将为您详细介绍java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector的内容。此外,我们还会涉及一些关于### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...、'java.lang.NoClassDefFoundError 由 java.lang.ClassNotFoundException 引起的 Ljava/util/Base64 解析失败 未找到类“java.util.Base64”、Android Studio,java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Long、Android:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ java.lang.String java.lang.Object.toString()”的知识,以帮助您更全面地了解这个主题。
本文目录一览:- java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
- ### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...
- 'java.lang.NoClassDefFoundError 由 java.lang.ClassNotFoundException 引起的 Ljava/util/Base64 解析失败 未找到类“java.util.Base64”
- Android Studio,java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Long
- Android:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ java.lang.String java.lang.Object.toString()”
java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector
在使用C3P0连接池的时候,发现了这个错误….原来要使用C3P0的使用,不仅仅要导入c3p0-0.9.2-pre1.jar
这个jar包,还要导入mchange-commons-0.2.jar
这个jar包
反正我用Oracle使用C3P0连接池就出现了这种情况!
### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...
### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String
### Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String] with root cause
java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String
at org.apache.ibatis.ognl.OgnlOps.compareWithConversion(OgnlOps.java:92)
at org.apache.ibatis.ognl.OgnlOps.isEqual(OgnlOps.java:142)
at org.apache.ibatis.ognl.OgnlOps.equal(OgnlOps.java:794)
at org.apache.ibatis.ognl.ASTNotEq.getValueBody(ASTNotEq.java:53)
at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)
at org.apache.ibatis.ognl.ASTAnd.getValueBody(ASTAnd.java:61)
at org.apache.ibatis.ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
at org.apache.ibatis.ognl.SimpleNode.getValue(SimpleNode.java:258)
at org.apache.ibatis.ognl.Ognl.getValue(Ognl.java:494)
......
在MVC开发中习惯使用原有的类作为传参方式:
javaBean:
该javaBean上建立扩展类:
数据库中,blog表和blogType表存在外键关系,所以在blog类的实现上,要建立一个blogType的类做属性。
在该查询中,显示的异常信息可知,invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String,不能比较(blogType和String)
sql语句的拼接中,判断该类是否为空就行了,我就照着前面的一路CV,从而忽略了这个错误(根本是没注意到这样的问题)。
所以这里要注意啊:代码套路深,CV需谨慎啊。CV自己的代码都能坑死自己啊。
日常报错ing,吸取更多的教训,写出更优雅的代码,同时希望能帮助到同是坎坷路上的码友们。
'java.lang.NoClassDefFoundError 由 java.lang.ClassNotFoundException 引起的 Ljava/util/Base64 解析失败 未找到类“java.util.Base64”
如何解决''java.lang.NoClassDefFoundError 由 java.lang.ClassNotFoundException 引起的 Ljava/util/Base64 解析失败 未找到类“java.util.Base64”?
我收到此错误,我已阅读该错误以解决它我必须将 import java.util.Base64
替换为 import android.util.Base64
但在我的整个项目中我只发现 Base68 result = Base64.getEncoder().encodetoString(macData);
的唯一用法
我该如何解决?而且我不能用 android.util.Base.64 替换 java.util.Base64 因为这行代码在后端
解决方法
这很不幸 - 这意味着您正在使用某个库,而那个库正在尝试使用 /i
。 Android 选择了 Java 库,就像 android 发布时一样,现在已经是很久以前的事了。从那以后它们就没有真正更新过。 (那个 oracle v google 法庭案件可能没有帮助……)
java.util.Base64
已添加到 https://forge.autodesk.com/en/docs/design-automation/v3/reference/cmdLine/cmdLine-inventor/(有关此信息,请参阅 javadoc 中的“since”行;任何“1.6”或以下,或者如果没有“since”行,肯定可用在 android 上。其他东西通常不是)。 java 8 现在已经 7 岁了,因此不是专门为 android 设计的库越来越有可能开始使用这些非 android 库调用。
检查堆栈跟踪,您会找到正在执行此操作的库。恐怕除了停止使用这个库之外别无他法。您可以尝试在您的应用程序中粘贴 juBase64 impl,但这会相对棘手,因为这可能涉及一些法律问题,因此,要么没有人这样做,要么如果他们这样做,他们可能不会宣传如何。
您可以要求这个库使用第三方库来做 base64 工作,但他们可能不想这样做,这可能不是库无法在 android 上运行的唯一问题。
如果 android 变体是一个替代品,你可以重写这个库的类文件,但这也是一个有点笨拙、笨拙的概念,并不完全困难,但因为这不是一件正常的事情,而且通常积极不喜欢,我认为您无法轻松找到有关如何操作的文档。
因此,建议:尝试寻找另一个图书馆。
Android Studio,java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Long
如何解决Android Studio,java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Long
我不断收到此错误消息
java.lang.classCastException: java.lang.String 不能转换为 java.lang.Long
我正在尝试使用共享首选项在活动之间传递一个长值,这是我的第一个活动的代码
SharedPreferences sp = getApplicationContext().getSharedPreferences("userdata",Context.MODE_PRIVATE);
Calendar cal = Calendar.getInstance();
SharedPreferences.Editor editor = sp.edit();
editor.putLong("time"+i,cal.getTimeInMillis());
editor.commit();
这是我的第二个活动的代码。
ArrayList<Long> time = new ArrayList<Long>();
sp = getSharedPreferences("userdata",Context.MODE_PRIVATE);
time.add(sp.getLong("time"+i,0)); // here is where the error occurs
“time”末尾的 +i 的原因是这些 put 和 receive 消息在 for 循环中运行,因为有多个 long 正在传递并且顺序很重要。请告诉我是否还有其他方法可以执行此操作或如何解决此异常。
谢谢
Android:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ java.lang.String java.lang.Object.toString()”
面对我正在使用的练习应用程序的问题。我面临与toString方法有关的NullPointerException问题。作为android应用程序开发的新手,即使经过研究,我也不确定确切的原因。因此,我要求一个更熟悉堆栈跟踪的人来帮助我。
注意:当我单击列表视图条目以访问日记条目的编辑页面时,将发生错误。但是,它似乎根本没有进入编辑页面。
在下面,您将找到我的活动代码及其堆栈跟踪。
活动代码:
import android.app.AlertDialog;import android.content.DialogInterface;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.content.Intent;import android.widget.AdapterView;import android.widget.ArrayAdapter;import android.widget.EditText;import android.widget.ListView;import android.widget.TextView;import android.widget.Toast;import java.util.ArrayList;public class ViewDiaryEntries extends AppCompatActivity {// Database HelperMyDBHandler db;// ListviewListView data_list;// Test varpublic final static String KEY_EXTRA_DATA_ID = "KEY_EXTRA_DATA_ID";@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_view_diary_entries); db = new MyDBHandler(this); // Displays the database items. displayItems();}// To display items in the listview.public void displayItems(){ // To display items in a listview. ArrayList db_data_list = db.getDiaryDBDataList(); ArrayAdapter listAdapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, db_data_list); // Set the adapter for the listview data_list = (ListView) findViewById(R.id.dataListView); data_list.setAdapter(listAdapter); /* Experiment -------------------------------------------------------------*/ data_list.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // Selected item store String selectedEntry = ((TextView) view).getText().toString(); // Test for regular expression String[] listViewItemSplit = selectedEntry.split(" - "); String listViewItempt1 = listViewItemSplit[0]; // For date and time //String listViewItempt2 = listViewItemSplit[1]; // For save file name //Toast.makeText(ViewDiaryEntries.this, listViewItempt1, Toast.LENGTH_LONG).show(); if(listViewItempt1.equals("")){ Toast.makeText(ViewDiaryEntries.this, "Error. Unable to detect entry ID.", Toast.LENGTH_LONG).show(); } else{ // Pass on the data: Intent editEntry = new Intent(ViewDiaryEntries.this, editdiaryentry.class); editEntry.putExtra(KEY_EXTRA_DATA_ID, listViewItempt1); startActivity(editEntry); } } });}// For the go back button.public void viewdiarytoinitialdiary_backbutt(View v){ // Create and start new intent going back ot main page. Intent main_page = new Intent(ViewDiaryEntries.this, User_Main_Menu_Options.class); main_page.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(main_page);}// For the about button.public void viewdiarypage_directionabout_butt(View v){ // Create an alert dialog final AlertDialog.Builder about_page_dialog = new AlertDialog.Builder(ViewDiaryEntries.this); about_page_dialog.setTitle("About This Page:"); // Inputs values for the dialog message. final String dialog_message = "This page will show you any saved diary entries you''ve.\n\n To edit an entry, do the following: \n\n- Take note of the Entry ID# (first value on entry display) \n- Type it in the number box at the bottom. \n- Press Edit Record icon next to number box, and wait for it to load."; about_page_dialog.setMessage(dialog_message); about_page_dialog.setPositiveButton("Got it!", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { // Closes the dialog. dialog.cancel(); } }); // Shows the dialog. about_page_dialog.show();}// Main menu button.public void viewDiaryEntriesMainMenushortcut_butt(View v){ // Creates main menu alert dialog. AlertDialog.Builder mainMenu_Dialog = new AlertDialog.Builder(this); mainMenu_Dialog.setIcon(R.drawable.main_menu_symbol); mainMenu_Dialog.setTitle("Main Menu"); // Creates array adapter with items to fill the menu with. final ArrayAdapter<String> menuItemsAdapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1); menuItemsAdapter.add("Home Screen"); menuItemsAdapter.add("Diary"); menuItemsAdapter.add("Tests"); menuItemsAdapter.add("Activity"); menuItemsAdapter.add("Media"); menuItemsAdapter.add("Thought of the Day"); menuItemsAdapter.add("Inspirational Quotes"); menuItemsAdapter.add("Resources"); menuItemsAdapter.add("Settings"); // To close menu. mainMenu_Dialog.setPositiveButton("Cancel", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { dialog.cancel(); } }); // To go to appropriate page upon selection. mainMenu_Dialog.setAdapter(menuItemsAdapter, new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { String selectedItem = menuItemsAdapter.getItem(which); if(selectedItem.equals("Home Screen")){ // Goes to main menu. Intent mainMenu = new Intent(ViewDiaryEntries.this, User_Main_Menu_Options.class); mainMenu.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(mainMenu); } else if(selectedItem.equals("Diary")){ // Goes to diary page. Intent diaryPage = new Intent(ViewDiaryEntries.this, ViewDiaryEntries.class); diaryPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(diaryPage); } else if(selectedItem.equals("Tests")){ // Goes to tests page. Intent testsPage = new Intent(ViewDiaryEntries.this, TestChoices.class); testsPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(testsPage); } else if(selectedItem.equals("Media")){ // Goes to media page. Intent mediaPage = new Intent(ViewDiaryEntries.this, initialMediaPage.class); mediaPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(mediaPage); } else if(selectedItem.equals("Thought of the Day")){ // Goes to thought of the day page. Intent thoughtofthedayPage = new Intent(ViewDiaryEntries.this, thoughtQuotes.class); thoughtofthedayPage.putExtra("quote_or_thought", 2); thoughtofthedayPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(thoughtofthedayPage); } else if(selectedItem.equals("Inspirational Quotes")){ // Goes to inspirational quotes page. Intent inspirationalquotesPage = new Intent(ViewDiaryEntries.this, thoughtQuotes.class); inspirationalquotesPage.putExtra("quote_or_thought", 1); inspirationalquotesPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(inspirationalquotesPage); } else if(selectedItem.equals("Settings")){ // Goes to settings page. Intent settingsPage = new Intent(ViewDiaryEntries.this, settings.class); settingsPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(settingsPage); } } }); mainMenu_Dialog.show();}// For the settings button.public void viewdiarypagelisttoSettings_butt(View v){ // Goes to settings page. Intent settingsPage = new Intent(ViewDiaryEntries.this, settings.class); settingsPage.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); startActivity(settingsPage);}// For new entry.public void viewdiarypageaddEntry_butt(View v){ // Opening up the diary add intent. Intent newdiaryEntry = new Intent(ViewDiaryEntries.this, newdiaryentry.class); startActivity(newdiaryEntry);}}
这是我看到的堆栈跟踪:
java.lang.NullPointerException: Attempt to invoke virtual method ''java.lang.String java.lang.Object.toString()'' on a null object reference at android.widget.ArrayAdapter.createViewFromResource(ArrayAdapter.java:401) at android.widget.ArrayAdapter.getView(ArrayAdapter.java:369) at android.widget.AbsSpinner.onMeasure(AbsSpinner.java:194) at android.widget.Spinner.onMeasure(Spinner.java:580) at android.support.v7.widget.AppCompatSpinner.onMeasure(AppCompatSpinner.java:407) at android.view.View.measure(View.java:18794) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:715) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:461) at android.view.View.measure(View.java:18794) at android.widget.ScrollView.measureChildWithMargins(ScrollView.java:1283) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.widget.ScrollView.onMeasure(ScrollView.java:340) at android.view.View.measure(View.java:18794) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.support.v7.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) at android.view.View.measure(View.java:18794) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465) at android.widget.LinearLayout.measureVertical(LinearLayout.java:748) at android.widget.LinearLayout.onMeasure(LinearLayout.java:630) at android.view.View.measure(View.java:18794) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at android.view.View.measure(View.java:18794) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1465) at android.widget.LinearLayout.measureVertical(LinearLayout.java:748) at android.widget.LinearLayout.onMeasure(LinearLayout.java:630) at android.view.View.measure(View.java:18794) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5951) at android.widget.FrameLayout.onMeasure(FrameLayout.java:194) at com.android.internal.policy.PhoneWindow$DecorView.onMeasure(PhoneWindow.java:2643) at android.view.View.measure(View.java:18794) at android.view.ViewRootImpl.performMeasure(ViewRootImpl.java:2100) at android.view.ViewRootImpl.measureHierarchy(ViewRootImpl.java:1216) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:1452) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1107) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6013) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:858) at android.view.Choreographer.doCallbacks(Choreographer.java:670) at android.view.Choreographer.doFrame(Choreographer.java:606) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:844) at android.os.Handler.handleCallback(Handler.java:739) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:148) at android.app.ActivityThread.main(ActivityThread.java:5417) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
任何对解决方案的帮助将不胜感激。
编辑:
因此,在从数据库和与之交互的活动之间的代码来回浏览之后,我设法使其重新工作。以下是我按确切顺序执行的操作:
- 我意识到我有一个日期字段没有接收任何数据,对此进行了纠正。
- 清理了项目。
- 重新启动Android Studio(基本上停止开发环境的所有操作)。
- 从我的开发手机上卸载了该应用。
- 重新启动android studio并重新安装该应用程序。
- 我以某种方式工作= _ =,是的,这很神奇。
老实说,我不知道哪一步真正解决了它。我猜这是数据库中的日期字段在我没有收到任何数据的同时给我带来了麻烦。
答案1
小编典典您的阵列中ArrayAdapter
至少包含一个条目null
。那里不能有空值。
数组被填充,getDiaryDBDataList()
所以问题也在那里。
今天的关于java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector的分享已经结束,谢谢您的关注,如果想了解更多关于### Error querying database. Cause: java.lang.IllegalArgumentException: invalid comparison: cn.xiaojian.blog.po.BlogType and java.lang.String ### Cause: java.lang.IllegalArgumentException: ...、'java.lang.NoClassDefFoundError 由 java.lang.ClassNotFoundException 引起的 Ljava/util/Base64 解析失败 未找到类“java.util.Base64”、Android Studio,java.lang.ClassCastException:java.lang.String 无法转换为 java.lang.Long、Android:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“ java.lang.String java.lang.Object.toString()”的相关知识,请在本站进行查询。
本文标签: