如果这个问题有点模糊,我很抱歉,但我很困惑。
我有一个控制器,它调用服务来删除实体,然后在其位置创建一个实体。在服务中,我有我的 DAO 和我的实体,我想删除我的实体,所以我调用
DAO.delete(entity);
Run Code Online (Sandbox Code Playgroud)
然后,似乎不知从何而来,我得到了一个 InitationTargetException 异常。这里的参数是:
method: public org.springframework.web.servlet.ModelAndView tld.myproject.view.web.controller.MyController.replaceEntity(org.springframework.web.multipart.MultipartFile,javax.servlet.http.HttpServletRequest)
target: tld.myproject.view.web.controller.MyController@185918e
args: [org.springframework.web.multipart.commons.CommonsMultipartFile@14812a6, org.springframework.web.multipart.support.DefaultMultipartHttpServletRequest@c08a64]
ex: java.lang.reflect.InvocationTargetException
Run Code Online (Sandbox Code Playgroud)
失败的地方在下面的 Spring 代码中
private Object doInvokeMethod(Method method, Object target, Object[] args) throws Exception {
ReflectionUtils.makeAccessible(method);
try {
return method.invoke(target, args);
}
catch (InvocationTargetException ex) {
ReflectionUtils.rethrowException(ex.getTargetException());
}
throw new IllegalStateException("Should never get here");
}
Run Code Online (Sandbox Code Playgroud)
有人对发生的事情有建议吗?我可以在调试中使用什么?
更新: 这是堆栈跟踪:
java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.doInvokeMethod(HandlerMethodInvoker.java:710)
at org.springframework.web.bind.annotation.support.HandlerMethodInvoker.invokeHandlerMethod(HandlerMethodInvoker.java:167)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.invokeHandlerMethod(AnnotationMethodHandlerAdapter.java:414)
at org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter.handle(AnnotationMethodHandlerAdapter.java:402)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647) …
Run Code Online (Sandbox Code Playgroud) 我想在服务器中运行用户提供的ruby代码,可能会发生哪些可能令人讨厌的事情?我的意思是删除文件等等.你能给我更多例子吗?
提前致谢!
目前,我正在使用此mysql查询显示站点博客页脚中最后5个帖子的列表:
SELECT post_title, guid, post_date FROM wp_posts WHERE post_type = 'post' AND post_status = 'Publish' ORDER BY post_date DESC LIMIT 5
Run Code Online (Sandbox Code Playgroud)
如何编辑此查询以将搜索限制为特定类别ID?我认为这就像在posts表中查找类别字段一样简单,但事实并非如此!
说我有
List<SomeObject> objList = new ArrayList<SomeObject>();
Run Code Online (Sandbox Code Playgroud)
如果someObject包含名为id的字段.我们可以通过一些查询来找到它
objList.filter('id=2');
没有循环列表?如果没有,那么为什么呢?这可以是一个非常有用的方法,并用作替代写繁琐的循环?
我有一个团队在MS Visual Studio中开发软件,现在他们想开始使用MS Team Foundation Server,主要用于版本控制,也许还有补丁和bug跟踪.他们对MS Team Foundation Server没有任何经验,但他们对MS产品非常热衷.那么最好的免费开源替代解决方案是什么?Git,SVN,CVS,Bugzilla,插件等
我想创建一个类似下面的图像(我知道是使用TVirtualStringTree完成的),但我还没有找到任何关于如何实现此目的的示例代码.
任何人都知道如何在下面的示例中使用多行项目,并"展开"选择项目以显示更多行?
我有一个VS2008本机C++项目,我希望编译为DLL.
它只引用一个外部库(log4cplus.lib),并使用其功能.(当然也使用log4cplus的.h文件).
当我尝试将我的项目编译为静态库时,它会成功.当我尝试DLL时,它失败了:
1>MessageWriter.obj : error LNK2019: unresolved external symbol "public: static class log4cplus::Logger __cdecl log4cplus::Logger::getInstance(class std::basic_string<wchar_t,struct std::char_traits<wchar_t>,class std::allocator<wchar_t> > const &)" (?getInstance@Logger@log4cplus@@SA?AV12@ABV?$basic_string@_WU?$char_traits@_W@std@@V?$allocator@_W@2@@std@@@Z) referenced in function "class log4cplus::Logger __cdecl Log(void)" (?Log@@YA?AVLogger@log4cplus@@XZ)
Run Code Online (Sandbox Code Playgroud)
还有4个与log4cplus.lib中的函数相关的错误.
看起来真的很蠢..请帮帮我:)
谢谢!
编辑:
我链接到log4cplus.lib文件,它发现它很好.另外,log4cplus.lib是100%功能的,我在另一个项目中使用它没有任何问题.我的初衷是将我的项目编译为静态库并在我正在编写的另一个DLL中使用它,但是当这样做时,我在其他项目中得到了相同的链接器错误...
编辑#2:
导致链接器错误的函数是静态函数..这可能是问题的一部分吗?
我正在使用ClickOnce部署我的WPF应用程序.在Visual Studio中进行本地开发时,我通过调用将文件存储在隔离的存储中IsolatedStorageFile.GetUserStoreForDomain()
.这工作正常,生成的路径是
C:\ Users\Frederik\AppData\Local\IsolatedStorage\phqduaro.crw\hux3pljr.cnx\StrongName.kkulk3wafjkvclxpwvxmpvslqqwckuh0\Publisher.ui0lr4tpq53mz2v2c0uqx21xze0w22gq\Files\FilerefData\-581750116(189 chars)
但是当我使用ClickOnce部署我的应用程序时,生成的路径变得太长,从而导致DirectoryNotFoundException
创建隔离的存储目录时.ClickOnce生成的路径是:
C:\ Users \用户弗雷德里克\应用程序数据\本地\应用\ 2.0 \数据\ OQ0LNXJT.R5V\8539ABHC.ODN\exqu..tion_e07264ceafd7486e_0001.0000_b8f01b38216164a0 \数据\ StrongName.wy0cojdd3mpvq45404l3gxdklugoanvi\Publisher.ui0lr4tpq53mz2v2c0uqx21xze0w22gq \文件\ FilerefData\-581750116(247字符)
当我浏览文件夹时,除路径的最后一个目录外都存在.然后,当尝试在此位置创建文件夹时,窗口告诉我无法创建目录,因为生成的路径名称太长.
如何缩短IsolatedStorage生成的路径?