日期:2014-05-18  浏览次数:20743 次

部署到服务器上的tomcat后出现的错误
环境是tomcat5.5,jdk1.6。在本地跑得好好的。一放到服务器上就出现问题。

开始是
String   path   =   Global.class.getResource( "/spring/applicationContext.xml ")
.getPath();
path   =   path.substring(1,   path.length());
File   file   =   new   File(path);
File   dir   =   file.getParentFile();
String[]   files   =   dir.list();
for   (int   i   =   0,   n   =   files.length;   i   <   n;   i++)   {
files[i]   =   "/spring/ "   +   files[i];
}                
}

这里的String[]   files   =   dir.list();返回了一个空值。
但是我打日志看了前面的变量。dir已经得到了。怎么返回空值呢?

后来我把这段代码注释掉,直接赋值了。
后来又出现了错误。

[INFO   ]   2007-05-23   15:29:34   jaoso.framework.security.impl.AclImpl   -   set   acl   config   file   :   E:/Program%20Files/Apache%20Software%20Foundation/Tomcat%205.5/webapps/news/WEB-INF/jaas/acl-config.xml
[ERROR]   2007-05-23   15:29:34   jaoso.framework.security.impl.AclImpl   -   parse     acl-config.xml:   java.io.FileNotFoundException:   E:\Program%20Files\Apache%20Software%20Foundation\Tomcat%205.5\webapps\news\WEB-INF\jaas\acl-config.xml   (系统找不到指定的路径。)

很奇怪,空格被%20给替换了。不知道是不是因为这个而找不到文件。
可能和前面的是同一个问题。
从没遇到过这种问题。在网上也搜不到答案。
谁知道为什么?

------解决方案--------------------
应该是你说的原因,路径被%号取代了
String path = Global.class.getResource( "/spring/applicationContext.xml ")
这里的/换成\或者// 看下
------解决方案--------------------
看看你的空格是不是中文空格?
------解决方案--------------------
部署环境的目录不要带空格啊!很忌讳的!比如program files目录下!
可以放E:/news下