我有一个用Java开发的Web服务。我的一项服务不起作用。在调查问题之后,我发现[可能]当我尝试加载文件时,我得到一个异常,因此抛出java.lang.reflect.InvocationTargetException
。我尝试运行这段代码,每次都得到False。
java.io.File f = new java.io.File("svncache.collection");
System.out.println(f.exists());
我尝试在Tomcat的根目录中复制文件( \ webapps \ ROOT ),但它不起作用。我跑了这个:
System.getProperty("user.dir")
并将文件复制到此函数返回的文件夹中。在此之后,函数返回true
,所以我猜这是我应该使用的根文件夹。但是当我再次运行该服务时,我得到了同样的异常。我在Windows 7 x64和Eclipse for Java EE Helios上运行此服务。
关于我应该做什么的任何建议?
感谢。
编辑: 我应该提一下,这最初是一个Java项目(不是Web应用程序)。我不得不将它用作Web服务。第一个建议是使用Endpoint.publish。这里:
Add a web service to a already available Java project
转换后[和一点编辑]它运行完美没有任何问题。但我需要记录用户活动,并按照建议将项目转换为动态Web项目并创建新的Web服务: Java - Rich logging in web services 和 Java - Create a web service from an available class
所以基本上我是在圈子里跑。使用Endpoint.publish不支持日志记录,使用Web服务将不允许我加载文件,原始Java项目不能用作我的Silverlight应用程序的Web服务。
请帮帮我。我很沮丧。谢谢。 PS:对不起,我不得不改变问题,以澄清我的问题以及与之匹配的标题。
答案 0 :(得分:0)
您需要在webapp中运行该测试,而不仅仅是在普通的Java应用程序中运行。如果它在您的webapp中有效,那么您肯定会误解该问题。如果它不......那么,你可以解决这个问题。