我正在使用Jersey和Glassfish编写Web应用程序。我需要加载一个文件。在我的项目中,它位于一个直接的src / main / resources / example.txt中。一切都在Tomcat中运行,但是当我在Glassfish中运行它时,我得到了FileNotFoundException。它找不到文件,因为当我尝试在Glassfish中获取路径时,它会向我显示一个Glassfish目录:\ glassfish3122eclipsedefaultdomain \ config \ src \ main \ resources \ example.txt而不是我获取文件时的项目目录。我该怎么改变它?或者有没有办法配置项目在编译时将文件复制到所需的目录?
答案 0 :(得分:1)
我是glassfish的新手。但我认为它应该有效。
final String instanceRoot = System.getProperty( "com.sun.aas.instanceRoot" );
if (instanceRoot == null)
{
throw new FileNotFoundException( "Cannot find Glassfish instanceRoot. Is the com.sun.aas.instanceRoot system property set?" );
}
File configurationFolder = new File( instanceRoot + File.separator + glassfishDomainConfigurationFolderName );
File configFile = new File( configurationFolder, fileName );