Java Application加载配置文件路径不正确问题

软件和网站开发以及相关技术探讨
回复
sonln
帖子: 3
注册时间: 2015-05-31 19:50
系统: win7

Java Application加载配置文件路径不正确问题

#1

帖子 sonln » 2015-05-31 19:57

本人开发了一个Java Application程序,在windows下运行没问题
但是移植到Ubuntu服务器上以后,启动时候,控制台一直报错,说无法找到配置文件,实际文件路径是没有问题的
请问是不是需要修改服务器配置还是调整什么:

代码: 全选

jvm 1    | org.springframework.beans.factory.BeanDefinitionStoreException: IOException parsing XML document from file [/*****/conf/applicationContext.xml]; nested exception is java.io.FileNotFoundException: *****/conf/applicationContext.xml (No such file or directory)
jvm 1    |      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:349)
jvm 1    |      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
jvm 1    |      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
jvm 1    |      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
jvm 1    |      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:149)
jvm 1    |      at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:212)
jvm 1    |      at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:113)
jvm 1    |      at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:80)
jvm 1    |      at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:123)
jvm 1    |      at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:422)
jvm 1    |      at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:352)
jvm 1    |      at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:140)
jvm 1    |      at org.springframework.context.support.FileSystemXmlApplicationContext.<init>(FileSystemXmlApplicationContext.java:84)
jvm 1    |      at *****.SpringUtil.getInstance(Unknown Source)
jvm 1    |      at *****.start(Unknown Source)
jvm 1    |      at org.tanukisoftware.wrapper.WrapperManager$11.run(WrapperManager.java:4163)
jvm 1    | Caused by: java.io.FileNotFoundException: *****/conf/applicationContext.xml (No such file or directory)
jvm 1    |      at java.io.FileInputStream.open(Native Method)
jvm 1    |      at java.io.FileInputStream.<init>(FileInputStream.java:146)
jvm 1    |      at org.springframework.core.io.FileSystemResource.getInputStream(FileSystemResource.java:108)
jvm 1    |      at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
jvm 1    |      ... 15 more
上面是抛出的错误,*****我已经隐藏了,路径确认没问题,在对应目录下文件也存在
头像
oneleaf
论坛管理员
帖子: 10455
注册时间: 2005-03-27 0:06
系统: Ubuntu 12.04

Re: Java Application加载配置文件路径不正确问题

#2

帖子 oneleaf » 2015-05-31 20:00

/*****/conf/applicationContext.xml 和 *****/conf/applicationContext.xml 是不同的。
头像
astolia
论坛版主
帖子: 6703
注册时间: 2008-09-18 13:11

Re: Java Application加载配置文件路径不正确问题

#3

帖子 astolia » 2015-05-31 20:29

1、文件路径大小写要一致
2、文件路径中各目录都需要确保执行进程有权访问
sonln
帖子: 3
注册时间: 2015-05-31 19:50
系统: win7

Re: Java Application加载配置文件路径不正确问题

#4

帖子 sonln » 2015-06-01 10:35

首先谢谢您!
oneleaf 写了:/*****/conf/applicationContext.xml 和 *****/conf/applicationContext.xml 是不同的。
这个路径我已经跟踪了,打印全路径没有问题,可能是spring打印时候没有带全路径
sonln
帖子: 3
注册时间: 2015-05-31 19:50
系统: win7

Re: Java Application加载配置文件路径不正确问题

#5

帖子 sonln » 2015-06-01 10:39

谢谢你的答复!
astolia 写了:1、文件路径大小写要一致
2、文件路径中各目录都需要确保执行进程有权访问
1.路径及大小写确认没问题,这个程序在windows下是没有任何问题
2.路径执行权限如下:

代码: 全选

-rwxr-xr-x 1  applicationContext.xml
应该是有执行权限的。
找了很久,发现唯一不同是,程序是在windows下build的,会不会因为这个导致不同操作系统读取路径会有差异
这个错误是java服务在启动过程中报错,能启动,说明java服务本身没有问题了。
服务采用Java Service Wrapper,jsw启动读取配置文件没问题,只是java程序在读取配置文件时候报的错误
回复