jam*_*man 5 grails dependency-management
如何在新的Grails 2.4.5项目中配置SMTPAppender?在开发环境中运行时,我收到NoClassDefFoundError:
| 错误log4j:ERROR初始化log4j时出错:javax/mail/Message
| 错误java.lang.NoClassDefFoundError:javax/mail/Message
我已经为javax.mail配置了依赖项并配置了log4j,如下所示:
dependencies {
provided 'javax.mail:mail:1.4.7'
}
log4j = {
appenders {
appender new org.apache.log4j.net.SMTPAppender(
name: 'smtp',
layout: pattern(conversionPattern: '%d{MM-dd-yyyy HH:mm:ss.SSS} [%t] %c %M %x%n%p: %m%n')
to: 'example@example.com',
from: 'example@example.com',
subject: 'Grails Message',
SMTPHost: '127.0.0.1')
)
}
}
Run Code Online (Sandbox Code Playgroud)
这看起来很奇怪 - 您是否无意中将依赖项块和log4j此处的块组合在一起,或者它们是否位于应用程序中的同一文件中?依赖项应该在 中BuildConfig.groovy,log4j块应该在 中Config.groovy。而且,它不应该是log4j {,而是应该是log4j = {。
这很可能是一个时间问题。如果Config.groovy在Javamail依赖关系解决之前解析,将会失败。尝试注释掉引用 Javamail 类并运行grails clean和 的部分grails compile。这将解决依赖关系并将该 jar 添加到类路径中。然后您可以取消注释该代码并grails compile再次运行。
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |