Rome 0.9 在模块类加载器顺序时无法正常工作:父级最后
Rome 0.9 does not work correctly when module classloader order : parent last
项目描述:
使用 Rome0.9 的 WebSphere Application Server 7.Maven 项目。
<dependency>
<groupId>rome</groupId>
<artifactId>rome</artifactId>
<version>0.9</version>
</dependency>
我正在解决 log4j 不记录的问题。问题是 log4j.properties 已经在父项目中设置。
这就是为什么我将模块的类加载器顺序更改为 Parent Last。
它修复了 log4j 的问题,但应用程序现在抛出以下异常:
ParsingFeedException: Invalid XML
我检查了父加载库,它们包含相同版本的 Rome - 0.9。
看来我的项目中缺少一些依赖项。我想知道是否有某种方法可以找出缺少哪些库?
也许您可以建议任何其他解决方案?
我没有搜索丢失的已加载库的解决方案。
但是,此解决方法对我有用:
我在主 servlet class.
的静态块中重新配置了 log4j
static Logger logger = LoggerFactory.getLogger(FeedAggregatorServlet.class);
static {
Properties p = new Properties();
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
p.load(classLoader.getResourceAsStream("/FeedAggregatorlog4j.properties"));
} catch (IOException e) {
e.printStackTrace();
}
PropertyConfigurator.configure(p);
}
项目描述: 使用 Rome0.9 的 WebSphere Application Server 7.Maven 项目。
<dependency>
<groupId>rome</groupId>
<artifactId>rome</artifactId>
<version>0.9</version>
</dependency>
我正在解决 log4j 不记录的问题。问题是 log4j.properties 已经在父项目中设置。 这就是为什么我将模块的类加载器顺序更改为 Parent Last。 它修复了 log4j 的问题,但应用程序现在抛出以下异常:
ParsingFeedException: Invalid XML
我检查了父加载库,它们包含相同版本的 Rome - 0.9。
看来我的项目中缺少一些依赖项。我想知道是否有某种方法可以找出缺少哪些库?
也许您可以建议任何其他解决方案?
我没有搜索丢失的已加载库的解决方案。 但是,此解决方法对我有用: 我在主 servlet class.
的静态块中重新配置了 log4jstatic Logger logger = LoggerFactory.getLogger(FeedAggregatorServlet.class);
static {
Properties p = new Properties();
ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
try {
p.load(classLoader.getResourceAsStream("/FeedAggregatorlog4j.properties"));
} catch (IOException e) {
e.printStackTrace();
}
PropertyConfigurator.configure(p);
}