﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-刘建和的blog-文章分类-Java tech</title><link>http://www.blogjava.net/jeanlius/category/4511.html</link><description>技术与管理</description><language>zh-cn</language><lastBuildDate>Fri, 02 Mar 2007 06:03:33 GMT</lastBuildDate><pubDate>Fri, 02 Mar 2007 06:03:33 GMT</pubDate><ttl>60</ttl><item><title>java程序移植时遇到的URI相关的问题</title><link>http://www.blogjava.net/jeanlius/articles/19328.html</link><dc:creator>jeanlius</dc:creator><author>jeanlius</author><pubDate>Fri, 11 Nov 2005 08:24:00 GMT</pubDate><guid>http://www.blogjava.net/jeanlius/articles/19328.html</guid><wfw:comment>http://www.blogjava.net/jeanlius/comments/19328.html</wfw:comment><comments>http://www.blogjava.net/jeanlius/articles/19328.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jeanlius/comments/commentRss/19328.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jeanlius/services/trackbacks/19328.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;在window下开发的Java程序作为WEB的服务器，windows在采用Tomcat5.5.9运行没有问题，但是在Linux9下运行出现以下问题（jdk1.5和1.4下均存在）<BR><BR>java.lang.IllegalArgumentException: URI has an authority component<BR>&nbsp;at java.io.File.&lt;init&gt;(File.java:340)<BR>&nbsp;at com.putian.sso.logic.group.GroupVlan.verdictTime(GroupVlan.java:121)<BR>&nbsp;at com.putian.sso.logic.group.GroupVlan.getInstance(GroupVlan.java:53)<BR>&nbsp;at com.putian.sso.client.prelogin.UserGroupAction.execute(UserGroupAction.java:120)<BR>&nbsp;at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)<BR>&nbsp;at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)<BR>&nbsp;at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)<BR>&nbsp;at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)<BR>&nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)<BR>&nbsp;at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)<BR>&nbsp;at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)<BR>&nbsp;at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)<BR>&nbsp;at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)<BR>&nbsp;at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)<BR>&nbsp;at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)<BR>&nbsp;at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)<BR>&nbsp;at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)<BR>&nbsp;at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)<BR>&nbsp;at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:307)<BR>&nbsp;at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:385)<BR>&nbsp;at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:748)<BR>&nbsp;at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:678)<BR>&nbsp;at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:871)<BR>&nbsp;at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)<BR>&nbsp;at java.lang.Thread.run(Thread.java:595)<BR><BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 该问题的出现是在读取文件的位置上，代码是通过生成URL再转换为URI，最后用File来读取，通过分析排除掉文件权限等问题，后来发现Java本身URI的在windows系统和linux系统下存在区别。具体正确的代码如下：<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URL url = new URL("file://" + realPath); //for Linux<BR>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; URL url = new URL("<A href="file:///">file:///</A>" + realPath); //for Windows<BR><BR><img src ="http://www.blogjava.net/jeanlius/aggbug/19328.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jeanlius/" target="_blank">jeanlius</a> 2005-11-11 16:24 <a href="http://www.blogjava.net/jeanlius/articles/19328.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>