Error occurred during deployment: Exception while deploying the app
[site-1.3.0.0] : The lifecycle method [init] must not throw a checked exception. Related annotation information: annotation
[@javax.annotation.PostConstruct()] on annotated element [public void com.sys.resolver.SysResourceBundleRead.init() throws java.lang.IllegalAccessException,java.lang.InstantiationException,java.io.IOException,org.apache.taglibs.standard.lang.jstl.ELException] of type
[METHOD]. Please see server.log for more details.
添加方法类
** @PostConstruct public void init()抛出异常{
} **
答案 0 :(得分:1)
正如错误消息所示,@PostConstruct
的方法不得抛出已检查的异常。
所以从方法中删除throws Exception
并在方法体中捕获它:
@PostConstruct
public void init() {
try {
// bla
} catch (Exception x) {
// do something
}
}
答案 1 :(得分:0)
Here 我已经在我的案例中解决了这个问题。
您可以先添加带有metadata-complete =“true”的web.xml来解决此问题。接下来,您需要确保您的上下文位于Web根目录/ WEB-INF /.
中使用此glassfish可以加载所有@PostConstructSpring依赖项。
答案 2 :(得分:0)
我通过在web.xml中添加 metadata-complete =“ true” 来解决:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" metadata-complete="true">