刘建和的blog

技术与管理

BlogJava 首页 联系 聚合 管理
  0 Posts :: 5 Stories :: 1 Comments :: 0 Trackbacks
      在window下开发的Java程序作为WEB的服务器,windows在采用Tomcat5.5.9运行没有问题,但是在Linux9下运行出现以下问题(jdk1.5和1.4下均存在)

java.lang.IllegalArgumentException: URI has an authority component
 at java.io.File.<init>(File.java:340)
 at com.putian.sso.logic.group.GroupVlan.verdictTime(GroupVlan.java:121)
 at com.putian.sso.logic.group.GroupVlan.getInstance(GroupVlan.java:53)
 at com.putian.sso.client.prelogin.UserGroupAction.execute(UserGroupAction.java:120)
 at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
 at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
 at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
 at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
 at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
 at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
 at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
 at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
 at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
 at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
 at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
 at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
 at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
 at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)
 at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)
 at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)
 at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)
 at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)
 at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
 at java.lang.Thread.run(Thread.java:595)

       该问题的出现是在读取文件的位置上,代码是通过生成URL再转换为URI,最后用File来读取,通过分析排除掉文件权限等问题,后来发现Java本身URI的在windows系统和linux系统下存在区别。具体正确的代码如下:
        URL url = new URL("file://" + realPath); //for Linux
        URL url = new URL("file:///" + realPath); //for Windows

posted on 2005-11-11 16:24 jeanlius 阅读(792) 评论(1)  编辑  收藏 所属分类: Java tech

Feedback

# re: java程序移植时遇到的URI相关的问题[未登录] 2009-03-13 17:34 aa
很好,谢谢你的奉献》  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: