当我的网络应用程序所依赖的其中一个罐试图从jar中加载属性文件时,我遇到了麻烦.这是jar中的代码.
static
{
Properties props = new Properties();
try
{
props.load(ClassLoader.getSystemResourceAsStream("someProps.properties"));
} catch (IOException e)
{
e.printStackTrace();
}
someProperty = props.getProperty("someKey");
}
Run Code Online (Sandbox Code Playgroud)
属性文件位于Maven项目的"src/main/resources"目录中.当我在Eclipse中的junit测试中运行此代码时,它执行得很好.当项目使用Maven构建到jar中,并作为依赖项包含在我的Web应用程序中时,它无法找到属性文件.我知道属性文件位于依赖于jar的基本目录中,我不知道如何解决这个问题.
我已经创建了一个jar来自我的Java project想要使用相同的jar JSP Servlet Project.我正在尝试加载一个属性文件,让我说我JSP Servlet Project保留的sample.properties WEB/properties/sample.properties应该被一个类中的类读取.我jar在一个jar 类中使用以下代码来访问它.
Properties prop=new Properties();
prop.load(/WEB-INF/properties/sample.properties);
Run Code Online (Sandbox Code Playgroud)
但每次我都会fileNotFound exception.
请建议我的解决方案.
这是结构
WEB-INF
|
lib
|
myproject.jar
|
myclass (This class needs to read sample.properties)
|
properties
|sample.properties
Run Code Online (Sandbox Code Playgroud)