InException in android mainthreadd "main" java.lang.NullPointerException at yy.T.main(T.java:35)

I am trying to use Apache Hadoop for Windows Platform through this tutorial: , the eclipse part. Everything is going fine until the last step. When running the program I got:
log4j:WARN No appenders could be found for logger (org.apache.hadoop.metrics2.lib.MutableMetricsFactory).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" java.lang.NullPointerException
at java.lang.ProcessBuilder.start(Unknown Source)
at org.apache.hadoop.util.Shell.runCommand(Shell.java:445)
at org.apache.hadoop.util.Shell.run(Shell.java:418)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:650)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:739)
at org.apache.hadoop.util.Shell.execCommand(Shell.java:722)
at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:631)
at org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421)
at org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277)
at org.apache.hadoop.mapreduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125)
at org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java:348)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1285)
at org.apache.hadoop.mapreduce.Job$10.run(Job.java:1282)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Unknown Source)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
at org.apache.hadoop.mapreduce.Job.submit(Job.java:1282)
at org.apache.hadoop.mapreduce.Job.waitForCompletion(Job.java:1303)
at Recipe.main(Recipe.java:82)
The code is:
import java.io.IOE
import java.util.StringT
import org.apache.hadoop.conf.C
import org.apache.hadoop.fs.P
import org.apache.hadoop.io.IntW
import org.apache.hadoop.io.T
import org.apache.hadoop.mapreduce.J
import org.apache.hadoop.mapreduce.M
import org.apache.hadoop.mapreduce.R
import org.apache.hadoop.mapreduce.lib.input.FileInputF
import org.apache.hadoop.mapreduce.lib.output.FileOutputF
import org.apache.hadoop.util.GenericOptionsP
import com.google.gson.G
public class Recipe {
public static class TokenizerMapper
extends Mapper&Object, Text, Text, IntWritable&{
private final static IntWritable one = new IntWritable(1);
private Text word = new Text();
Gson gson = new Gson();
public void map(Object key, Text value, Context context
) throws IOException, InterruptedException {
StringTokenizer itr = new StringTokenizer(value.toString());
while (itr.hasMoreTokens()) {
word.set(itr.nextToken());
context.write(word, one);
Roo roo=gson.fromJson(value.toString(),Roo.class);
if(roo.cookTime!=null)
word.set(roo.cookTime);
word.set("none");
context.write(word, one);
public static class IntSumReducer
extends Reducer&Text,IntWritable,Text,IntWritable& {
private IntWritable result = new IntWritable();
public void reduce(Text key, Iterable&IntWritable& values,
Context context
) throws IOException, InterruptedException {
int sum = 0;
for (IntWritable val : values) {
sum += val.get();
result.set(sum);
context.write(key, result);
public static void main(String[] args) throws Exception {
Configuration conf = new Configuration();
@SuppressWarnings("deprecation")
Job job = new Job(conf, "Recipe");
job.setJarByClass(Recipe.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
//FileInputFormat.addInputPath(job, new Path(otherArgs[0]));
//FileOutputFormat.setOutputPath(job, new Path(otherArgs[1]));
FileInputFormat.addInputPath(job, new Path("hdfs://127.0.0.1:9000/in"));
FileOutputFormat.setOutputPath(job, new Path("hdfs://127.0.0.1:9000/output"));
System.exit(job.waitForCompletion(true) ? 0 : 1);
// job.submit();
public Id _
public String cookT
public String recipeY
public String dateP
public String prepT
This happens only when I try to run it through Eclipse. Through CMD it went fine:
javac -classpath C:\hadoop-2.3\share\hadoop\common\hadoop-common-2.3.0.C:\hadoop-2.3\share\hadoop\common\lib\gson-2.2.4.C:\hadoop-2.3\share\hadoop\common\lib\commons-cli-1.2.C:\hadoop-2.3\share\hadoop\mapreduce\hadoop-mapreduce-client-core-2.3.0.Recipe.java
jar -cvf Recipe.jar *.class
hadoop jar c:\Hwork\Recipe.jar Recipe /in /out
Any idea how can I solve this?
解决方案 I had the same problem and workaround from here
Workaround is:
download compiled winutils.exe from
put this file into d:\winutil\bin
add to your code:
System.setProperty("hadoop.home.dir", "d:\winutil\")
本文地址: &
我想通过本教程使用Apache的Hadoop的Windows平台:的,日食的一部分。一切都很好走,直到最后一步。当运行程序我得到:log4j的:警告没有附加目的地可以为记录器(org.apache.hadoop.metrics2.lib.MutableMetricsFactory)中找到。 的log4j:WARN请正确初始化log4j的系统。log4j的:WARN见http://logging.apache.org/log4j/1.2/faq.html#noconfig获取更多信息。异常的线程“主”显示java.lang.NullPointerException
在java.lang.ProcessBuilder.start(来源不明)
在org.apache.hadoop.util.Shell.runCommand(Shell.java:445)
在org.apache.hadoop.util.Shell.run(Shell.java:418)
在org.apache.hadoop.util.Shell $ ShellCommandExecutor.execute(Shell.java:650)
在org.apache.hadoop.util.Shell.execCommand(Shell.java:739)
在org.apache.hadoop.util.Shell.execCommand(Shell.java:722)
在org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:631)
在org.apache.hadoop.fs.RawLocalFileSystem.mkdirs(RawLocalFileSystem.java:421)
在org.apache.hadoop.fs.FilterFileSystem.mkdirs(FilterFileSystem.java:277)
在org.apache.hadoop.ma preduce.JobSubmissionFiles.getStagingDir(JobSubmissionFiles.java:125)
在org.apache.hadoop.ma preduce.JobSubmitter.submitJobInternal(JobSubmitter.java:348)
在org.apache.hadoop.ma preduce.Job $ 10.run(Job.java:1285)
在org.apache.hadoop.ma preduce.Job $ 10.run(Job.java:1282)
在java.security.AccessController.doPrivileged(本机方法)
在javax.security.auth.Subject.doAs(来源不明)
在org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1548)
在org.apache.hadoop.ma preduce.Job.submit(Job.java:1282)
在org.apache.hadoop.ma preduce.Job.waitForCompletion(Job.java:1303)
在Recipe.main(Recipe.java:82) 在code是: 进口java.io.IOException异常;进口java.util.StringTokenizer的;进口org.apache.hadoop.conf.C进口org.apache.hadoop.fs.P进口org.apache.hadoop.io.IntW进口org.apache.hadoop.io.T进口org.apache.hadoop.ma preduce.J进口org.apache.hadoop.ma preduce.M进口org.apache.hadoop.ma preduce.R进口org.apache.hadoop.ma preduce.lib.input.FileInputF进口org.apache.hadoop.ma preduce.lib.output.FileOutputF进口org.apache.hadoop.util.GenericOptionsP进口com.google.gson.G公共类食谱{
公共静态类TokenizerMapper
扩展映射器LT;对象,文本,文本,IntWritable> {
私人最终静态IntWritable 1 =新IntWritable(1);
私人文本字=新文本();
GSON GSON =新GSON();
公共无效地图(对象键,文本价值,上下文的背景下
)抛出IOException异常,InterruptedException的{
StringTokenizer的ITR =新的StringTokenizer(value.toString());
而(itr.hasMoreTokens()){
word.set(itr.nextToken());
context.write(字一);
袋鼠小豆= gson.fromJson(value.toString(),Roo.class);
如果(roo.cookTime!= NULL)
word.set(roo.cookTime);
word.set(“无”);
context.write(字一);
公共静态类IntSumReducer
延长减速<文字,IntWritable,文本,IntWritable> {
私人IntWritable结果=新IntWritable();
公共无效减少(文字键,可迭代< IntWritable>的价值观,
上下文的背景下
)抛出IOException异常,InterruptedException的{
INT总和= 0;
对于(IntWritable VAL:值){
总和+ = val.get();
result.set(总和);
context.write(键,结果);
公共静态无效的主要(字串[] args)抛出异常{
配置的conf =新配置();
@燮pressWarnings(“德precation”)
招聘职位=新工作(CONF,“配方”);
job.setJarByClass(Recipe.class);
job.setMapperClass(TokenizerMapper.class);
job.setCombinerClass(IntSumReducer.class);
job.setReducerClass(IntSumReducer.class);
job.setOutputKeyClass(Text.class);
job.setOutputValueClass(IntWritable.class);
//FileInputFormat.addInputPath(job,新路径(值其它[0]));
//FileOutputFormat.setOutputPath(job,新路径(值其它[1]));
FileInputFormat.addInputPath(工作,新的路径(“HDFS://127.0.0.1:9000 /中”));
FileOutputFormat.setOutputPath(工作,新的路径(“HDFS://127.0.0.1:9000 /输出”));
System.exit(job.waitForCompletion(真)?0:1);
// job.submit();
}} 类标识{
公共字符串OID;} 类TS{
众长日期;}袋鼠类{
公共字符串名称;
公共字符串的成分;
公共字符串的URL;
公共字符串形象;
公共TS TS;
公共字符串cookT
公共字符串来源;
公共字符串recipeY
公共字符串dateP
公共字符串prepT
公共字符串描述;} 这只是发生在我试图通过Eclipse来运行它。通过CMD它去罚款:
javac的-classpath C:\\hadoop-2.3\\share\\hadoop\\common\\hadoop-common-2.3.0.C:\\hadoop-2.3\\share\\hadoop\\common\\lib\\gson-2.2.4.C:\\hadoop-2.3\\share\\hadoop\\common\\lib\\commons-cli-1.2.C:\\hadoop-2.3\\share\\hadoop\\ma$p$pduce\\hadoop-ma$p$pduce-client-core-2.3.0.Recipe.java罐子-cvf Recipe.jar的* .classHadoop的罐子C:\\ Hwork \\ Recipe.jar配方/输入/输出 任何想法,我怎么能解决这个问题?解决方案 我从这里同样的问题和解决方法的固定它。解决方法是:从下载编译winutils.exe 将此文件放在D:\\ winutil \\ BIN 添加到您的code:
System.setProperty(“hadoop.home.dir”,“D:\\ winutil \\”)
本文地址: &
扫一扫关注官方微信Exception in thread &AWT-EventQueue-0& java.lang.NullPointerException
作者:用户
浏览:241 次
Exceptioninthread"AWT-EventQueue-0"java.lang.NullPointerExceptionatBoard.drawBrick(Board.java:109)at
问题描述Exceptioninthread"AWT-EventQueue-0"java.lang.NullPointerExceptionatBoard.drawBrick(Board.java:109)atBoard.paintComponent(Board.java:102)atjavax.swing.JComponent.paint(UnknownSource)atjavax.swing.JComponent.paintChildren(UnknownSource)atjavax.swing.JComponent.paint(UnknownSource)atjavax.swing.JComponent.paintChildren(UnknownSource)atjavax.swing.JComponent.paint(UnknownSource)atjavax.swing.JLayeredPane.paint(UnknownSource)atjavax.swing.JComponent.paintChildren(UnknownSource)atjavax.swing.JComponent.paintToOffscreen(UnknownSource)atjavax.swing.RepaintManager$PaintManager.paintDoubleBuffered(UnknownSource)atjavax.swing.RepaintManager$PaintManager.paint(UnknownSource)atjavax.swing.RepaintManager.paint(UnknownSource)atjavax.swing.JComponent.paint(UnknownSource)atjava.awt.GraphicsCallback$PaintCallback.run(UnknownSource)atsun.awt.SunGraphicsCallback.runOneComponent(UnknownSource)atsun.awt.SunGraphicsCallback.runComponents(UnknownSource)atjava.awt.Container.paint(UnknownSource)atjavax.swing.RepaintManager.paintDirtyRegions(UnknownSource)atjavax.swing.RepaintManager.paintDirtyRegions(UnknownSource)atjavax.swing.RepaintManager.seqPaintDirtyRegions(UnknownSource)atjavax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(UnknownSource)atjava.awt.event.InvocationEvent.dispatch(UnknownSource)atjava.awt.EventQueue.dispatchEvent(UnknownSource)atjava.awt.EventDispatchThread.pumpOneEventForFilters(UnknownSource)atjava.awt.EventDispatchThread.pumpEventsForFilter(UnknownSource)atjava.awt.EventDispatchThread.pumpEventsForHierarchy(UnknownSource)atjava.awt.EventDispatchThread.pumpEvents(UnknownSource)atjava.awt.EventDispatchThread.pumpEvents(UnknownSource)atjava.awt.EventDispatchThread.run(UnknownSource)Exceptioninthread"AWT-EventQueue-0"java.lang.NullPointerExceptionatBoard.drawBrick(Board.java:109)atBoard.paintComponent(Board.java:102)atjavax.swing.JComponent.paint(UnknownSource)atjavax.swing.JComponent.paintChildren(UnknownSource)atjavax.swing.JComponent.paint(UnknownSource)atjavax.swing.JComponent.paintChildren(UnknownSource)atjavax.swing.JComponent.paint(UnknownSource)atjavax.swing.JLayeredPane.paint(UnknownSource)atjavax.swing.JComponent.paintChildren(UnknownSource)atjavax.swing.JComponent.paintToOffscreen(UnknownSource)atjavax.swing.RepaintManager$PaintManager.paintDoubleBuffered(UnknownSource)atjavax.swing.RepaintManager$PaintManager.paint(UnknownSource)atjavax.swing.RepaintManager.paint(UnknownSource)atjavax.swing.JComponent.paint(UnknownSource)atjava.awt.GraphicsCallback$PaintCallback.run(UnknownSource)atsun.awt.SunGraphicsCallback.runOneComponent(UnknownSource)atsun.awt.SunGraphicsCallback.runComponents(UnknownSource)atjava.awt.Container.paint(UnknownSource)atjavax.swing.RepaintManager.paintDirtyRegions(UnknownSource)atjavax.swing.RepaintManager.paintDirtyRegions(UnknownSource)atjavax.swing.RepaintManager.seqPaintDirtyRegions(UnknownSource)atjavax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(UnknownSource)atjava.awt.event.InvocationEvent.dispatch(UnknownSource)atjava.awt.EventQueue.dispatchEvent(UnknownSource)atjava.awt.EventDispatchThread.pumpOneEventForFilters(UnknownSource)atjava.awt.EventDispatchThread.pumpEventsForFilter(UnknownSource)atjava.awt.EventDispatchThread.pumpEventsForHierarchy(UnknownSource)atjava.awt.EventDispatchThread.pumpEvents(UnknownSource)atjava.awt.EventDispatchThread.pumpEvents(UnknownSource)atjava.awt.EventDispatchThread.run(UnknownSource)解决方案解决方案二:atBoard.paintComponent(Board.java:102)atBoard.paintComponent(Board.java:102)看哪个类是自己写的,然后排错。以后注意发源码,同时附说明。解答完毕!解决方案三:java.lang.NullPointerException空指针了,肯定有地方时null.方法()了,仔细检查你的为null的对象解决方案四:我也是这个问题啊!
【云栖快讯】直播推荐——阿里云HBase大咖直播大讲堂,揭秘云数据库HBase产品架构、内核如何优化、企业级安全如何搭建等一众技术干货,5场直播为您带来技术饕餮盛宴,欢迎报名参加!&&
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
开发者常用软件,超百款实用软件一站式提供几个简单的例子让你读懂什么是JAVA的堆栈跟踪几个简单的例子让你读懂什么是JAVA的堆栈跟踪蜗牛学院百家号简单的来说,堆栈跟踪就是我们的程序在抛出异常时使用的方法调用列表。简单的例子通过问题中给出的示例,我们可以准确地确定应用程序中抛出异常的位置。我们来看看堆栈跟踪:Exception in thread &main& java.lang.NullPointerException
at com.example.myproject.Book.getTitle(Book.java:16)
at com.example.myproject.Author.getBookTitles(Author.java:25)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14) 这是一个非常简单的异常-空指针异常,同样也是最简单的堆栈跟踪。如果我们从第一行“at ...”开始读,我们就可以知道错误发生在哪里。我们正在寻找的是最重要的方法调用,这是我们应用程序的一部分。在这种情况下,它是:at com.example.myproject.Book.getTitle(Book.java:16)要调试这个,我们可以打开Book.java并查看行16,如下:15
public String getTitle() {16
System.out.println(title.toString());1718
}这就表明某些东西空指针异常(可能title)在上面的代码中。我们再看一个异常链的例子有时应用程序会捕获异常并重新抛出这个异常来作为另一个异常的原因。通常如下: public void getBookIds(int id) {35
book.getId(id);
// this method it throws a NullPointerException on line 2237
} catch (NullPointerException e) {38
throw new IllegalStateException(&A book has a null property&, e)39
}这可能会给你一个堆栈跟踪,比如说:Exception in thread &main& java.lang.IllegalStateException: A book has a null property
at com.example.myproject.Author.getBookIds(Author.java:38)
at com.example.myproject.Bootstrap.main(Bootstrap.java:14)Caused by: java.lang.NullPointerException
at com.example.myproject.Book.getId(Book.java:22)
at com.example.myproject.Author.getBookIds(Author.java:36)
... 1 more这个和刚才例子最大的不同就是多了个“Caused by”。有时也会有多个“Caused by”部分。对于这种异常,你通常需要找到 “root cause”。在我们这一个例子中,它是:Caused by: java.lang.NullPointerException &-- root cause
at com.example.myproject.Book.getId(Book.java:22) &-- important line同样,在这个例子中,我们要去看看行22的Book.java,看看有什么可能影响NullPointerException的代码。
更让人头疼的是library库抛异常的例子通常来说堆栈跟踪其实比上述两个例子复杂得多。我们这里再分析一个很长的例子,但是这个例子包含了几个级别的链接异常: javax.servlet.ServletException: Something bad happened
at com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:60)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.example.myproject.ExceptionHandlerFilter.doFilter(ExceptionHandlerFilter.java:28)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at com.example.myproject.OutputBufferFilter.doFilter(OutputBufferFilter.java:33)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1157)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:388)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:765)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:418)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:326)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:943)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
at org.mortbay.jetty.bio.SocketConnector$Connection.run(SocketConnector.java:228)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)Caused by: com.example.myproject.MyProjectServletException
at com.example.myproject.MyServlet.doPost(MyServlet.java:169)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:511)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1166)
at com.example.myproject.OpenSessionInViewFilter.doFilter(OpenSessionInViewFilter.java:30)
... 27 moreCaused by: org.hibernate.exception.ConstraintViolationException: could not insert: [com.example.myproject.MyEntity]
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:64)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2329)
at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2822)
at org.hibernate.action.EntityIdentityInsertAction.execute(EntityIdentityInsertAction.java:71)
at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268)
at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:321)
at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204)
at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:130)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:210)
at org.hibernate.event.def.DefaultSaveEventListener.saveWithGeneratedOrRequestedId(DefaultSaveEventListener.java:56)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:195)
at org.hibernate.event.def.DefaultSaveEventListener.performSaveOrUpdate(DefaultSaveEventListener.java:50)
at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:93)
at org.hibernate.impl.SessionImpl.fireSave(SessionImpl.java:705)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:693)
at org.hibernate.impl.SessionImpl.save(SessionImpl.java:689)
at sun.reflect.GeneratedMethodAccessor5.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.hibernate.context.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:344)
at $Proxy19.save(Unknown Source)
at com.example.myproject.MyEntityService.save(MyEntityService.java:59) &-- relevant call (see notes below)
at com.example.myproject.MyServlet.doPost(MyServlet.java:164)
... 32 moreCaused by: java.sql.SQLException: Violation of unique constraint MY_ENTITY_UK_1: duplicate value(s) for column(s) MY_COLUMN in statement [...]
at org.hsqldb.jdbc.Util.throwError(Unknown Source)
at org.hsqldb.jdbc.jdbcPreparedStatement.executeUpdate(Unknown Source)
at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:105)
at org.hibernate.id.insert.AbstractSelectingDelegate.performInsert(AbstractSelectingDelegate.java:57)
... 54 more在这个例子后面还有很多的” Caused by”。但是我们最关心的是寻找来自我们自己代码的错误,就是我们自己的com.example.myproject包中的任何东西。从第二个例子中,我们首先看看抛出的异常,它是:Caused by: java.sql.SQLException但是,所有的方法调用都是第三方库代码。所以我们将转到上面的“Caused by”,并寻找来自我们自己的代码的第一个方法调用,它是:at com.example.myproject.MyEntityService.save(MyEntityService.java:59)就像在前面的例子中,我们应该看看MyEntityService.java第59行,因为这是此错误的起源,那么通过代码的排查我们最终就能发现并解决相关问题。 挖矿搬砖不如IT码农,轻松转行还看蜗牛学院。蜗牛学院 专注于IT职业教育,轻松转行,简学易懂;免费试学,亲身体验;商业项目亲自操刀,与名企零距离接触;应届生就业薪资6000起,年薪10万不是事,涨幅绝比房价高。本文仅代表作者观点,不代表百度立场。系作者授权百家号发表,未经许可不得转载。蜗牛学院百家号最近更新:简介:全国首家移动互联网人才孵化基地作者最新文章相关文章}

我要回帖

更多关于 oneventmainthread 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信