部署到服务器上的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下