NutzCN Logo
问答 nutzbook学习时nutz集成javamail出错
发布于 2717天前 作者 蛋蛋的忧伤 1206 次浏览 复制 上一个帖子 下一个帖子
标签:

mail.properties:

mail.HostName=smtp.aliyun.com                 
mail.SmtpPort=25
mail.UserName=luliaiwqh@aliyun.com
mail.Password=xxxxxxx
mail.SSLOnConnect=false
mail.From=luliaiwqh@aliyun.com
mail.charset=UTF-8

mail.js:

var ioc={
    emailAuthenticator : {
        type : "org.apache.commons.mail.DefaultAuthenticator",
        args : [{java:"$conf.get('mail.UserName')"}, {java:"$conf.get('mail.Password')"}]
    },
    htmlEmail : {
        type : "org.apache.commons.mail.ImageHtmlEmail",
        singleton : false,
        fields : {
            hostName : {java:"$conf.get('mail.HostName')"},
            smtpPort : {java:"$conf.get('mail.SmtpPort')"},
            authenticator : {refer:"emailAuthenticator"},
            SSLOnConnect : {java:"$conf.get('mail.SSLOnConnect')"},
            from : {java:"$conf.get('mail.From')"},
            charset : {java:"$conf.get('mail.charset', 'UTF-8')"}
        }
    }
};

MainSetup:

package net.wendal.nutzbook;

import net.wendal.nutzbook.bean.User;
import org.apache.commons.mail.HtmlEmail;
import org.nutz.dao.Dao;
import org.nutz.dao.util.Daos;
import org.nutz.integration.quartz.NutQuartzCronJobFactory;
import org.nutz.ioc.Ioc;
import org.nutz.mvc.NutConfig;
import org.nutz.mvc.Setup;

import java.util.Date;

/**
 * Created by 17194 on 2017/6/14 0014.
 */
public class MainSetup implements Setup {
    //初始化
    public void init(NutConfig nc) {
        Ioc ioc =nc.getIoc();
        Dao dao = ioc.get(Dao.class);
        Daos.createTablesInPackage(dao,"net.wendal.nutzbook.bean",false);       //创建一个包下的所有实体类对应的表
        if(dao.count(User.class)  == 0){
            User user = new User();
            user.setName("admin");
            user.setPassword("123456");
            user.setCreateTime(new Date());
            user.setUpdateTime(new Date());
            dao.insert(user);
        }

        // 获取NutQuartzCronJobFactory从而触发计划任务的初始化与启动
        ioc.get(NutQuartzCronJobFactory.class);


        // 测试发送邮件
        try {
            HtmlEmail email = ioc.get(HtmlEmail.class);
            email.setSubject("测试NutzBook");
            email.setMsg("This is a test mail ... :-)" + System.currentTimeMillis());
            email.addTo("1719411461@qq.com");//请务必改成您自己的邮箱啊!!!
            email.buildMimeMessage();
            email.sendMimeMessage();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

    public void destroy(NutConfig nc) {
        // webapp销毁之前执行的逻辑
        // 这个时候依然可以从nc取出ioc, 然后取出需要的ioc 对象进行操作
    }
}

日志信息:

[INFO ] 14:15:38.853 org.nutz.mvc.NutFilter._init(NutFilter.java:81) - NutFilter[nutz] starting ...
[DEBUG] 14:15:38.979 org.nutz.resource.Scans.<init>(Scans.java:509) - Locations for Scans:
[Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar]]
[DEBUG] 14:15:39.108 org.nutz.resource.Scans.init(Scans.java:105) - Locations for Scans:
{E:\Dev\apache-tomcat-8.0.44\bin=Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes=Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar]}
[DEBUG] 14:15:39.162 org.nutz.castor.Castors.reload(Castors.java:115) - Using 95 castor for Castors
[DEBUG] 14:15:39.171 org.nutz.mvc.config.AbstractNutConfig.createLoading(AbstractNutConfig.java:59) - Loading by class org.nutz.mvc.impl.NutLoading
[INFO ] 14:15:39.174 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.60 
[INFO ] 14:15:39.174 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
[DEBUG] 14:15:39.175 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:60) - Web Container Information:
[DEBUG] 14:15:39.176 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:61) -  - Default Charset : UTF-8
[DEBUG] 14:15:39.176 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:62) -  - Current . path  : E:\Dev\apache-tomcat-8.0.44\bin\.
[DEBUG] 14:15:39.176 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:63) -  - Java Version    : 1.8.0_131
[DEBUG] 14:15:39.177 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:64) -  - File separator  : \
[DEBUG] 14:15:39.178 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:65) -  - Timezone        : Asia/Shanghai
[DEBUG] 14:15:39.178 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:66) -  - OS              : Windows 10 amd64
[DEBUG] 14:15:39.178 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:67) -  - ServerInfo      : Apache Tomcat/8.0.44
[DEBUG] 14:15:39.178 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:68) -  - Servlet API     : 3.1
[DEBUG] 14:15:39.179 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:73) -  - ContextPath     : /nutzbook
[DEBUG] 14:15:39.180 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:74) -  - context.tempdir : C:\Users\17194\.IntelliJIdea2017.1\system\tomcat\Unnamed_ShiroForNutzDemo\work\Catalina\localhost\nutzbook
[DEBUG] 14:15:39.180 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:75) -  - MainModule      : net.wendal.nutzbook.MainModule
[DEBUG] 14:15:39.182 org.nutz.mvc.impl.NutLoading.createContext(NutLoading.java:238) - >> app.root = F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo
[DEBUG] 14:15:39.185 org.nutz.mvc.impl.NutLoading.createIoc(NutLoading.java:379) - @IocBy(type=org.nutz.mvc.ioc.provider.ComboIocProvider, args=["*js", "ioc/", "*anno", "net.wendal.nutzbook", "*tx", "*async", "*quartz"],init=[])
[DEBUG] 14:15:39.207 org.nutz.resource.Scans.scan(Scans.java:274) - Found 2 resource by src( ioc/ ) , regex( ^(.+[.])(js|json)$ )
[DEBUG] 14:15:39.207 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [dao.js]
[DEBUG] 14:15:39.211 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [mail.js]
[DEBUG] 14:15:39.212 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 5 bean define from path=[ioc/] --> [conf, dao, emailAuthenticator, dataSource, htmlEmail]
[DEBUG] 14:15:39.217 org.nutz.resource.Scans.scan(Scans.java:274) - Found 10 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
[DEBUG] 14:15:39.237 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.BaseModule
[DEBUG] 14:15:39.250 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserModule
[DEBUG] 14:15:39.255 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserProfileModule
[INFO ] 14:15:39.267 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:50) - Found 3 classes in 1 base-packages!
beans = ["userProfileModule", "baseModule", "userModule"]
[DEBUG] 14:15:39.269 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:40) - Loaded 5 bean define from reader --
[txREPEATABLE_READ, txSERIALIZABLE, txNONE, txREAD_UNCOMMITTED, txREAD_COMMITTED]
[DEBUG] 14:15:39.272 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
[DEBUG] 14:15:39.275 org.nutz.ioc.loader.combo.ComboIocLoader.createIocLoader(ComboIocLoader.java:118) - found org.nutz.integration.quartz.QuartzIocLoader -- org.nutz.integration.quartz.QuartzIocLoader
[DEBUG] 14:15:39.276 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 0 bean define from path=[] --> []
[INFO ] 14:15:39.279 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:98) - NutIoc init begin ...
[INFO ] 14:15:39.282 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:115) - ... NutIoc init complete
[INFO ] 14:15:39.286 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
[DEBUG] 14:15:39.289 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:369) - @Views(DefaultViewMaker.class)
[DEBUG] 14:15:39.294 org.nutz.mvc.impl.NutLoading.createChainMaker(NutLoading.java:266) - @ChainBy(org.nutz.mvc.impl.NutActionChainMaker)
[DEBUG] 14:15:39.300 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:154) - module class location 'file:/F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/classes/'
[DEBUG] 14:15:39.301 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:184) -  > scan 'net.wendal.nutzbook'
[DEBUG] 14:15:39.306 org.nutz.resource.Scans.scan(Scans.java:274) - Found 10 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
[DEBUG] 14:15:39.307 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserModule'
[DEBUG] 14:15:39.307 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserProfileModule'
[INFO ] 14:15:39.346 org.nutz.mvc.impl.NutActionChainMaker.getProcessorByName(NutActionChainMaker.java:72) - Optional processor class not found, disabled : org.nutz.plugins.validation.ValidationProcessor
[DEBUG] 14:15:39.359 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/'                    >> (UserModule.java:33).index            : void       | @Ok(jsp:jsp.user.list) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.379 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/add'                 >> (UserModule.java:60).add              : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.381 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/count'               >> (UserModule.java:49).count            : int        | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.384 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/update'              >> (UserModule.java:74).update           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.392 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/delete'              >> (UserModule.java:90).delete           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.397 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/query'               >> (UserModule.java:101).query           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.398 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/test'                >> (UserModule.java:145).test            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.402 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/logout'              >> (UserModule.java:55).logout           : void       | @Ok(>>:/ ) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.403 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/login'               >> (UserModule.java:38).login            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 0 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.406 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/'            >> (UserProfileModule.java:130).index    : UserProfile | @Ok(jsp:jsp.user.profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.407 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/get'         >> (UserProfileModule.java:40).get       : UserProfile | @Ok(null ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.410 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/update'      >> (UserProfileModule.java:55).update    : void       | @Ok(void ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
[INFO ] 14:15:39.417 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/tmp/user_avatar [20000]
[DEBUG] 14:15:39.420 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\tmp\user_avatar'
[INFO ] 14:15:39.423 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 12
[DEBUG] 14:15:39.429 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:87).uploadAvatar : void       | @Ok(>>:/user/profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
[DEBUG] 14:15:39.433 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:118).readAvatar : Object     | @Ok(raw:jpg) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
[INFO ] 14:15:39.434 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:220) - Found 14 module methods
[DEBUG] 14:15:39.435 org.nutz.mvc.impl.NutLoading.evalLocalization(NutLoading.java:334) - @Localization not define
[INFO ] 14:15:39.435 org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:274) - Setup application...
[DEBUG] 14:15:39.436 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dao'<interface org.nutz.dao.Dao>
[DEBUG] 14:15:39.436 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
[DEBUG] 14:15:39.437 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=$aop_async
[DEBUG] 14:15:39.439 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject($aop_async) in AsyncAopIocLoader@1425372773
[DEBUG] 14:15:39.440 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
[DEBUG] 14:15:39.441 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object '$aop_async' to [app] 
[DEBUG] 14:15:39.451 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
[DEBUG] 14:15:39.451 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dao
[DEBUG] 14:15:39.452 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dao
[DEBUG] 14:15:39.455 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dao) in JsonLoader(paths=[ioc/])
[DEBUG] 14:15:39.455 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dao'<interface org.nutz.dao.Dao>
[DEBUG] 14:15:39.465 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.dao.impl.NutDao without AOP
[DEBUG] 14:15:39.466 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dao' to [app] 
[DEBUG] 14:15:39.467 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
[DEBUG] 14:15:39.468 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dataSource
[DEBUG] 14:15:39.468 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dataSource
[DEBUG] 14:15:39.474 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dataSource) in JsonLoader(paths=[ioc/])
[DEBUG] 14:15:39.474 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dataSource'<>
[DEBUG] 14:15:39.490 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class com.alibaba.druid.pool.DruidDataSource without AOP
[DEBUG] 14:15:39.490 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dataSource' to [app] 
[DEBUG] 14:15:39.491 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:39.491 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=conf
[DEBUG] 14:15:39.492 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=conf
[DEBUG] 14:15:39.492 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(conf) in JsonLoader(paths=[ioc/])
[DEBUG] 14:15:39.492 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'conf'<>
[DEBUG] 14:15:39.493 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.ioc.impl.PropertiesProxy without AOP
[DEBUG] 14:15:39.493 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'conf' to [app] 
[DEBUG] 14:15:39.497 org.nutz.resource.Scans.scan(Scans.java:274) - Found 2 resource by src( custom/ ) , regex( ^.+[.]properties$ )
[INFO ] 14:15:39.556 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:715) - {dataSource-1} inited
[DEBUG] 14:15:39.557 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
[INFO ] 14:15:39.582 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: C:\Users\17194/.nutz/tmp/dao/ [200000]
[DEBUG] 14:15:39.582 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'C:\Users\17194\.nutz\tmp\dao'
[INFO ] 14:15:39.583 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 0
[DEBUG] 14:15:39.591 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
[INFO ] 14:15:39.591 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
[DEBUG] 14:15:39.831 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:188) - select expert : org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert
[DEBUG] 14:15:39.838 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:199) - JDBC Driver --> mysql-connector-java-5.1.40 ( Revision: 402933ef52cad9aa82624e80acbea46e3a701ce6 )
[DEBUG] 14:15:39.838 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:200) - JDBC Name   --> MySQL Connector Java
[DEBUG] 14:15:39.838 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC URL    --> jdbc:mysql://127.0.0.1:3306/nutzbook
[DEBUG] 14:15:39.925 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_client=utf8
[DEBUG] 14:15:39.926 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_connection=utf8
[DEBUG] 14:15:39.926 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_database=utf8
[DEBUG] 14:15:39.926 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_filesystem=binary
[DEBUG] 14:15:39.926 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_results=
[DEBUG] 14:15:39.927 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_server=utf8
[DEBUG] 14:15:39.927 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_system=utf8
[DEBUG] 14:15:39.927 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_sets_dir=C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\
[DEBUG] 14:15:39.928 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:219) - Mysql : binlog_format=STATEMENT
[DEBUG] 14:15:39.929 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:226) - Mysql : database=nutzbook
[DEBUG] 14:15:39.929 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:232) - Mysql : user=root@localhost
[DEBUG] 14:15:39.962 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:221) - Database info --> MYSQL:[MySQL - 5.1.49-community]
[DEBUG] 14:15:39.967 org.nutz.resource.Scans.scan(Scans.java:274) - Found 3 resource by src( net/wendal/nutzbook/bean/ ) , regex( ^.+[.]class$ )
[DEBUG] 14:15:40.028 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) - SELECT COUNT(*) FROM t_user 
[DEBUG] 14:15:40.030 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
[DEBUG] 14:15:40.031 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=nutQuartzCronJobFactory
[DEBUG] 14:15:40.031 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=nutQuartzCronJobFactory
[DEBUG] 14:15:40.031 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(nutQuartzCronJobFactory) in QuartzIocLoader@1946431070
[DEBUG] 14:15:40.031 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
[DEBUG] 14:15:40.033 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzCronJobFactory without AOP
[DEBUG] 14:15:40.033 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'nutQuartzCronJobFactory' to [app] 
[DEBUG] 14:15:40.035 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'scheduler'<>
[DEBUG] 14:15:40.035 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=scheduler
[DEBUG] 14:15:40.035 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=scheduler
[DEBUG] 14:15:40.036 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(scheduler) in QuartzIocLoader@1946431070
[DEBUG] 14:15:40.036 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'scheduler'<>
[DEBUG] 14:15:40.036 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'scheduler' to [app] 
[DEBUG] 14:15:40.093 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'jobFactory'<>
[DEBUG] 14:15:40.093 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=jobFactory
[DEBUG] 14:15:40.094 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=jobFactory
[DEBUG] 14:15:40.094 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(jobFactory) in QuartzIocLoader@1946431070
[DEBUG] 14:15:40.095 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'jobFactory'<>
[DEBUG] 14:15:40.096 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzJobFactory without AOP
[DEBUG] 14:15:40.096 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'jobFactory' to [app] 
[DEBUG] 14:15:40.097 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.097 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
[DEBUG] 14:15:40.097 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=htmlEmail
[DEBUG] 14:15:40.098 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=htmlEmail
[DEBUG] 14:15:40.099 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(htmlEmail) in JsonLoader(paths=[ioc/])
[DEBUG] 14:15:40.100 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
[DEBUG] 14:15:40.111 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.ImageHtmlEmail without AOP
[DEBUG] 14:15:40.123 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.124 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.124 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'emailAuthenticator'<>
[DEBUG] 14:15:40.124 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=emailAuthenticator
[DEBUG] 14:15:40.124 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=emailAuthenticator
[DEBUG] 14:15:40.125 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(emailAuthenticator) in JsonLoader(paths=[ioc/])
[DEBUG] 14:15:40.125 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'emailAuthenticator'<>
[DEBUG] 14:15:40.126 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.DefaultAuthenticator without AOP
[DEBUG] 14:15:40.126 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'emailAuthenticator' to [app] 
[DEBUG] 14:15:40.127 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.127 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.127 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.128 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.128 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.128 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
[DEBUG] 14:15:40.132 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
15-Jun-2017 14:15:40.159 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal One or more Filters failed to start. Full details will be found in the appropriate container log file
15-Jun-2017 14:15:40.159 严重 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.core.StandardContext.startInternal Context [/nutzbook] startup failed due to previous errors
15-Jun-2017 14:15:40.162 警告 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [nutzbook] registered the JDBC driver [com.alibaba.druid.proxy.DruidDriver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
15-Jun-2017 14:15:40.163 警告 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesJdbc The web application [nutzbook] registered the JDBC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
15-Jun-2017 14:15:40.164 警告 [RMI TCP Connection(3)-127.0.0.1] org.apache.catalina.loader.WebappClassLoaderBase.clearReferencesThreads The web application [nutzbook] appears to have started a thread named [NutzbookScheduler_QuartzSchedulerThread] but has failed to stop it. This is very likely to create a memory leak. Stack trace of thread:
 java.lang.Object.wait(Native Method)
 org.quartz.core.QuartzSchedulerThread.run(QuartzSchedulerThread.java:410)
[2017-06-15 02:15:40,175] Artifact ShiroForNutzDemo:war exploded: Error during artifact deployment. See server log for details.
15-Jun-2017 14:15:47.053 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory E:\Dev\apache-tomcat-8.0.44\webapps\manager
15-Jun-2017 14:15:47.120 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory E:\Dev\apache-tomcat-8.0.44\webapps\manager has finished in 65 ms

最后几句日志是发邮件的报错信息,然后是不是我的mail.properties配置错了啊???

14 回复

去tomcat的logs目录找找具体的报错信息

我删了所有重新跑了下程序,这是全部日志,仿佛没有关键信息啊

[INFO ] 2017-06-15 14:30:26.528 org.nutz.mvc.NutFilter._init(NutFilter.java:81) - NutFilter[nutz] starting ...
.[DEBUG] 2017-06-15 14:30:26.588 org.nutz.resource.Scans.<init>(Scans.java:509) - Locations for Scans:
[Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar]]
.[DEBUG] 2017-06-15 14:30:26.712 org.nutz.resource.Scans.init(Scans.java:105) - Locations for Scans:
{E:\Dev\apache-tomcat-8.0.44\bin=Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes=Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar]}
.[DEBUG] 2017-06-15 14:30:26.762 org.nutz.castor.Castors.reload(Castors.java:115) - Using 95 castor for Castors
.[DEBUG] 2017-06-15 14:30:26.772 org.nutz.mvc.config.AbstractNutConfig.createLoading(AbstractNutConfig.java:59) - Loading by class org.nutz.mvc.impl.NutLoading
.[INFO ] 2017-06-15 14:30:26.774 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.60 
.[INFO ] 2017-06-15 14:30:26.774 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
.[DEBUG] 2017-06-15 14:30:26.776 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:60) - Web Container Information:
.[DEBUG] 2017-06-15 14:30:26.777 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:61) -  - Default Charset : UTF-8
.[DEBUG] 2017-06-15 14:30:26.778 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:62) -  - Current . path  : E:\Dev\apache-tomcat-8.0.44\bin\.
.[DEBUG] 2017-06-15 14:30:26.778 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:63) -  - Java Version    : 1.8.0_131
.[DEBUG] 2017-06-15 14:30:26.778 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:64) -  - File separator  : \
.[DEBUG] 2017-06-15 14:30:26.778 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:65) -  - Timezone        : Asia/Shanghai
.[DEBUG] 2017-06-15 14:30:26.779 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:66) -  - OS              : Windows 10 amd64
.[DEBUG] 2017-06-15 14:30:26.779 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:67) -  - ServerInfo      : Apache Tomcat/8.0.44
.[DEBUG] 2017-06-15 14:30:26.779 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:68) -  - Servlet API     : 3.1
.[DEBUG] 2017-06-15 14:30:26.780 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:73) -  - ContextPath     : /nutzbook
.[DEBUG] 2017-06-15 14:30:26.781 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:74) -  - context.tempdir : C:\Users\17194\.IntelliJIdea2017.1\system\tomcat\Unnamed_ShiroForNutzDemo\work\Catalina\localhost\nutzbook
.[DEBUG] 2017-06-15 14:30:26.781 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:75) -  - MainModule      : net.wendal.nutzbook.MainModule
.[DEBUG] 2017-06-15 14:30:26.783 org.nutz.mvc.impl.NutLoading.createContext(NutLoading.java:238) - >> app.root = F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo
.[DEBUG] 2017-06-15 14:30:26.785 org.nutz.mvc.impl.NutLoading.createIoc(NutLoading.java:379) - @IocBy(type=org.nutz.mvc.ioc.provider.ComboIocProvider, args=["*js", "ioc/", "*anno", "net.wendal.nutzbook", "*tx", "*async", "*quartz"],init=[])
.[DEBUG] 2017-06-15 14:30:26.805 org.nutz.resource.Scans.scan(Scans.java:274) - Found 2 resource by src( ioc/ ) , regex( ^(.+[.])(js|json)$ )
.[DEBUG] 2017-06-15 14:30:26.806 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [dao.js]
.[DEBUG] 2017-06-15 14:30:26.809 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [mail.js]
.[DEBUG] 2017-06-15 14:30:26.810 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 5 bean define from path=[ioc/] --> [conf, dao, emailAuthenticator, dataSource, htmlEmail]
.[DEBUG] 2017-06-15 14:30:26.816 org.nutz.resource.Scans.scan(Scans.java:274) - Found 12 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:30:26.838 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.BaseModule
.[DEBUG] 2017-06-15 14:30:26.852 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserModule
.[DEBUG] 2017-06-15 14:30:26.857 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserProfileModule
.[DEBUG] 2017-06-15 14:30:26.869 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.service.EmailServiceImpl
.[INFO ] 2017-06-15 14:30:26.873 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:50) - Found 4 classes in 1 base-packages!
beans = ["userProfileModule", "baseModule", "userModule", "emailService"]
.[DEBUG] 2017-06-15 14:30:26.878 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:40) - Loaded 5 bean define from reader --
[txREPEATABLE_READ, txSERIALIZABLE, txNONE, txREAD_UNCOMMITTED, txREAD_COMMITTED]
.[DEBUG] 2017-06-15 14:30:26.882 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
.[DEBUG] 2017-06-15 14:30:26.887 org.nutz.ioc.loader.combo.ComboIocLoader.createIocLoader(ComboIocLoader.java:118) - found org.nutz.integration.quartz.QuartzIocLoader -- org.nutz.integration.quartz.QuartzIocLoader
.[DEBUG] 2017-06-15 14:30:26.888 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 0 bean define from path=[] --> []
.[INFO ] 2017-06-15 14:30:26.894 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:98) - NutIoc init begin ...
.[INFO ] 2017-06-15 14:30:26.896 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:115) - ... NutIoc init complete
.[INFO ] 2017-06-15 14:30:26.899 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
.[DEBUG] 2017-06-15 14:30:26.901 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:369) - @Views(DefaultViewMaker.class)
.[DEBUG] 2017-06-15 14:30:26.907 org.nutz.mvc.impl.NutLoading.createChainMaker(NutLoading.java:266) - @ChainBy(org.nutz.mvc.impl.NutActionChainMaker)
.[DEBUG] 2017-06-15 14:30:26.913 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:154) - module class location 'file:/F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/classes/'
.[DEBUG] 2017-06-15 14:30:26.913 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:184) -  > scan 'net.wendal.nutzbook'
.[DEBUG] 2017-06-15 14:30:26.918 org.nutz.resource.Scans.scan(Scans.java:274) - Found 12 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:30:26.919 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserModule'
.[DEBUG] 2017-06-15 14:30:26.919 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserProfileModule'
.[INFO ] 2017-06-15 14:30:26.951 org.nutz.mvc.impl.NutActionChainMaker.getProcessorByName(NutActionChainMaker.java:72) - Optional processor class not found, disabled : org.nutz.plugins.validation.ValidationProcessor
.[DEBUG] 2017-06-15 14:30:26.958 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/'            >> (UserProfileModule.java:130).index    : UserProfile | @Ok(jsp:jsp.user.profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:26.959 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/get'         >> (UserProfileModule.java:40).get       : UserProfile | @Ok(null ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:26.963 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/update'      >> (UserProfileModule.java:55).update    : void       | @Ok(void ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[INFO ] 2017-06-15 14:30:26.970 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/tmp/user_avatar [20000]
.[DEBUG] 2017-06-15 14:30:26.973 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\tmp\user_avatar'
.[INFO ] 2017-06-15 14:30:26.978 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 12
.[DEBUG] 2017-06-15 14:30:26.984 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:87).uploadAvatar : void       | @Ok(>>:/user/profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:26.986 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:118).readAvatar : Object     | @Ok(raw:jpg) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:26.991 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/'                    >> (UserModule.java:33).index            : void       | @Ok(jsp:jsp.user.list) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.002 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/add'                 >> (UserModule.java:60).add              : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.003 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/count'               >> (UserModule.java:49).count            : int        | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.004 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/update'              >> (UserModule.java:74).update           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.006 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/delete'              >> (UserModule.java:90).delete           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.010 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/query'               >> (UserModule.java:101).query           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.012 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/test'                >> (UserModule.java:145).test            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.013 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/logout'              >> (UserModule.java:55).logout           : void       | @Ok(>>:/ ) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:30:27.014 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/login'               >> (UserModule.java:38).login            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 0 Filters | (I:UTF-8/O:UTF-8)
.[INFO ] 2017-06-15 14:30:27.014 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:220) - Found 14 module methods
.[DEBUG] 2017-06-15 14:30:27.015 org.nutz.mvc.impl.NutLoading.evalLocalization(NutLoading.java:334) - @Localization not define
.[INFO ] 2017-06-15 14:30:27.016 org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:274) - Setup application...
.[DEBUG] 2017-06-15 14:30:27.016 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:30:27.017 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:30:27.017 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=$aop_async
.[DEBUG] 2017-06-15 14:30:27.019 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject($aop_async) in AsyncAopIocLoader@735444657
.[DEBUG] 2017-06-15 14:30:27.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:30:27.021 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object '$aop_async' to [app] 
.[DEBUG] 2017-06-15 14:30:27.026 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
.[DEBUG] 2017-06-15 14:30:27.027 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dao
.[DEBUG] 2017-06-15 14:30:27.027 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dao
.[DEBUG] 2017-06-15 14:30:27.031 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dao) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:30:27.031 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:30:27.044 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.dao.impl.NutDao without AOP
.[DEBUG] 2017-06-15 14:30:27.045 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dao' to [app] 
.[DEBUG] 2017-06-15 14:30:27.046 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:30:27.047 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dataSource
.[DEBUG] 2017-06-15 14:30:27.047 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dataSource
.[DEBUG] 2017-06-15 14:30:27.054 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dataSource) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:30:27.054 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dataSource'<>
.[DEBUG] 2017-06-15 14:30:27.071 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class com.alibaba.druid.pool.DruidDataSource without AOP
.[DEBUG] 2017-06-15 14:30:27.072 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dataSource' to [app] 
.[DEBUG] 2017-06-15 14:30:27.073 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.073 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=conf
.[DEBUG] 2017-06-15 14:30:27.073 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=conf
.[DEBUG] 2017-06-15 14:30:27.074 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(conf) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:30:27.074 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'conf'<>
.[DEBUG] 2017-06-15 14:30:27.075 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.ioc.impl.PropertiesProxy without AOP
.[DEBUG] 2017-06-15 14:30:27.075 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'conf' to [app] 
.[DEBUG] 2017-06-15 14:30:27.080 org.nutz.resource.Scans.scan(Scans.java:274) - Found 3 resource by src( custom/ ) , regex( ^.+[.]properties$ )
.[INFO ] 2017-06-15 14:30:27.138 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:715) - {dataSource-1} inited
.[DEBUG] 2017-06-15 14:30:27.139 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[INFO ] 2017-06-15 14:30:27.159 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: C:\Users\17194/.nutz/tmp/dao/ [200000]
.[DEBUG] 2017-06-15 14:30:27.160 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'C:\Users\17194\.nutz\tmp\dao'
.[INFO ] 2017-06-15 14:30:27.160 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 0
.[DEBUG] 2017-06-15 14:30:27.167 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
.[INFO ] 2017-06-15 14:30:27.168 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
.[DEBUG] 2017-06-15 14:30:27.391 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:188) - select expert : org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert
.[DEBUG] 2017-06-15 14:30:27.397 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:199) - JDBC Driver --> mysql-connector-java-5.1.40 ( Revision: 402933ef52cad9aa82624e80acbea46e3a701ce6 )
.[DEBUG] 2017-06-15 14:30:27.397 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:200) - JDBC Name   --> MySQL Connector Java
.[DEBUG] 2017-06-15 14:30:27.397 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC URL    --> jdbc:mysql://127.0.0.1:3306/nutzbook
.[DEBUG] 2017-06-15 14:30:27.484 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_client=utf8
.[DEBUG] 2017-06-15 14:30:27.485 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_connection=utf8
.[DEBUG] 2017-06-15 14:30:27.485 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_database=utf8
.[DEBUG] 2017-06-15 14:30:27.485 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_filesystem=binary
.[DEBUG] 2017-06-15 14:30:27.486 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_results=
.[DEBUG] 2017-06-15 14:30:27.486 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_server=utf8
.[DEBUG] 2017-06-15 14:30:27.486 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_system=utf8
.[DEBUG] 2017-06-15 14:30:27.486 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_sets_dir=C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\
.[DEBUG] 2017-06-15 14:30:27.487 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:219) - Mysql : binlog_format=STATEMENT
.[DEBUG] 2017-06-15 14:30:27.488 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:226) - Mysql : database=nutzbook
.[DEBUG] 2017-06-15 14:30:27.489 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:232) - Mysql : user=root@localhost
.[DEBUG] 2017-06-15 14:30:27.518 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:221) - Database info --> MYSQL:[MySQL - 5.1.49-community]
.[DEBUG] 2017-06-15 14:30:27.523 org.nutz.resource.Scans.scan(Scans.java:274) - Found 3 resource by src( net/wendal/nutzbook/bean/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:30:27.584 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) - SELECT COUNT(*) FROM t_user 
.[DEBUG] 2017-06-15 14:30:27.587 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
.[DEBUG] 2017-06-15 14:30:27.587 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=nutQuartzCronJobFactory
.[DEBUG] 2017-06-15 14:30:27.587 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=nutQuartzCronJobFactory
.[DEBUG] 2017-06-15 14:30:27.587 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(nutQuartzCronJobFactory) in QuartzIocLoader@779815567
.[DEBUG] 2017-06-15 14:30:27.588 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
.[DEBUG] 2017-06-15 14:30:27.589 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzCronJobFactory without AOP
.[DEBUG] 2017-06-15 14:30:27.589 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'nutQuartzCronJobFactory' to [app] 
.[DEBUG] 2017-06-15 14:30:27.591 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'scheduler'<>
.[DEBUG] 2017-06-15 14:30:27.591 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=scheduler
.[DEBUG] 2017-06-15 14:30:27.591 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=scheduler
.[DEBUG] 2017-06-15 14:30:27.592 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(scheduler) in QuartzIocLoader@779815567
.[DEBUG] 2017-06-15 14:30:27.592 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'scheduler'<>
.[DEBUG] 2017-06-15 14:30:27.592 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'scheduler' to [app] 
.[DEBUG] 2017-06-15 14:30:27.648 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'jobFactory'<>
.[DEBUG] 2017-06-15 14:30:27.648 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=jobFactory
.[DEBUG] 2017-06-15 14:30:27.649 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=jobFactory
.[DEBUG] 2017-06-15 14:30:27.650 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(jobFactory) in QuartzIocLoader@779815567
.[DEBUG] 2017-06-15 14:30:27.650 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'jobFactory'<>
.[DEBUG] 2017-06-15 14:30:27.651 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzJobFactory without AOP
.[DEBUG] 2017-06-15 14:30:27.652 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'jobFactory' to [app] 
.[DEBUG] 2017-06-15 14:30:27.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
.[DEBUG] 2017-06-15 14:30:27.653 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=htmlEmail
.[DEBUG] 2017-06-15 14:30:27.654 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=htmlEmail
.[DEBUG] 2017-06-15 14:30:27.655 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(htmlEmail) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:30:27.655 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
.[DEBUG] 2017-06-15 14:30:27.666 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.ImageHtmlEmail without AOP
.[DEBUG] 2017-06-15 14:30:27.677 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.677 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.678 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'emailAuthenticator'<>
.[DEBUG] 2017-06-15 14:30:27.678 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=emailAuthenticator
.[DEBUG] 2017-06-15 14:30:27.678 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=emailAuthenticator
.[DEBUG] 2017-06-15 14:30:27.679 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(emailAuthenticator) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:30:27.679 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'emailAuthenticator'<>
.[DEBUG] 2017-06-15 14:30:27.680 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.DefaultAuthenticator without AOP
.[DEBUG] 2017-06-15 14:30:27.681 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'emailAuthenticator' to [app] 
.[DEBUG] 2017-06-15 14:30:27.682 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.682 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.682 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.683 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.683 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.684 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:30:27.687 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.

木有了.....我把logs里所有都删了,然后重新跑的,就生成了这些

啊....原来是我log4j配置文件问题,我改了下然后这是日志:

[INFO ] 2017-06-15 14:33:59.419 org.nutz.mvc.NutFilter._init(NutFilter.java:81) - NutFilter[nutz] starting ...
.[DEBUG] 2017-06-15 14:33:59.477 org.nutz.resource.Scans.<init>(Scans.java:509) - Locations for Scans:
[Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar]]
.[DEBUG] 2017-06-15 14:33:59.594 org.nutz.resource.Scans.init(Scans.java:105) - Locations for Scans:
{E:\Dev\apache-tomcat-8.0.44\bin=Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes=Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar]}
.[DEBUG] 2017-06-15 14:33:59.649 org.nutz.castor.Castors.reload(Castors.java:115) - Using 95 castor for Castors
.[DEBUG] 2017-06-15 14:33:59.660 org.nutz.mvc.config.AbstractNutConfig.createLoading(AbstractNutConfig.java:59) - Loading by class org.nutz.mvc.impl.NutLoading
.[INFO ] 2017-06-15 14:33:59.662 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.60 
.[INFO ] 2017-06-15 14:33:59.662 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
.[DEBUG] 2017-06-15 14:33:59.662 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:60) - Web Container Information:
.[DEBUG] 2017-06-15 14:33:59.663 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:61) -  - Default Charset : UTF-8
.[DEBUG] 2017-06-15 14:33:59.664 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:62) -  - Current . path  : E:\Dev\apache-tomcat-8.0.44\bin\.
.[DEBUG] 2017-06-15 14:33:59.664 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:63) -  - Java Version    : 1.8.0_131
.[DEBUG] 2017-06-15 14:33:59.664 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:64) -  - File separator  : \
.[DEBUG] 2017-06-15 14:33:59.664 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:65) -  - Timezone        : Asia/Shanghai
.[DEBUG] 2017-06-15 14:33:59.665 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:66) -  - OS              : Windows 10 amd64
.[DEBUG] 2017-06-15 14:33:59.665 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:67) -  - ServerInfo      : Apache Tomcat/8.0.44
.[DEBUG] 2017-06-15 14:33:59.666 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:68) -  - Servlet API     : 3.1
.[DEBUG] 2017-06-15 14:33:59.666 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:73) -  - ContextPath     : /nutzbook
.[DEBUG] 2017-06-15 14:33:59.667 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:74) -  - context.tempdir : C:\Users\17194\.IntelliJIdea2017.1\system\tomcat\Unnamed_ShiroForNutzDemo\work\Catalina\localhost\nutzbook
.[DEBUG] 2017-06-15 14:33:59.667 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:75) -  - MainModule      : net.wendal.nutzbook.MainModule
.[DEBUG] 2017-06-15 14:33:59.669 org.nutz.mvc.impl.NutLoading.createContext(NutLoading.java:238) - >> app.root = F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo
.[DEBUG] 2017-06-15 14:33:59.671 org.nutz.mvc.impl.NutLoading.createIoc(NutLoading.java:379) - @IocBy(type=org.nutz.mvc.ioc.provider.ComboIocProvider, args=["*js", "ioc/", "*anno", "net.wendal.nutzbook", "*tx", "*async", "*quartz"],init=[])
.[DEBUG] 2017-06-15 14:33:59.692 org.nutz.resource.Scans.scan(Scans.java:274) - Found 2 resource by src( ioc/ ) , regex( ^(.+[.])(js|json)$ )
.[DEBUG] 2017-06-15 14:33:59.692 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [dao.js]
.[DEBUG] 2017-06-15 14:33:59.692 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [dao.js]
.[DEBUG] 2017-06-15 14:33:59.696 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [mail.js]
.[DEBUG] 2017-06-15 14:33:59.696 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [mail.js]
.[DEBUG] 2017-06-15 14:33:59.697 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 5 bean define from path=[ioc/] --> [conf, dao, emailAuthenticator, dataSource, htmlEmail]
.[DEBUG] 2017-06-15 14:33:59.697 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 5 bean define from path=[ioc/] --> [conf, dao, emailAuthenticator, dataSource, htmlEmail]
.[DEBUG] 2017-06-15 14:33:59.704 org.nutz.resource.Scans.scan(Scans.java:274) - Found 12 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:33:59.724 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.BaseModule
.[DEBUG] 2017-06-15 14:33:59.724 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.BaseModule
.[DEBUG] 2017-06-15 14:33:59.738 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserModule
.[DEBUG] 2017-06-15 14:33:59.738 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserModule
.[DEBUG] 2017-06-15 14:33:59.743 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserProfileModule
.[DEBUG] 2017-06-15 14:33:59.743 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserProfileModule
.[DEBUG] 2017-06-15 14:33:59.753 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.service.EmailServiceImpl
.[DEBUG] 2017-06-15 14:33:59.753 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.service.EmailServiceImpl
.[INFO ] 2017-06-15 14:33:59.755 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:50) - Found 4 classes in 1 base-packages!
beans = ["userProfileModule", "baseModule", "userModule", "emailService"]
.[INFO ] 2017-06-15 14:33:59.755 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:50) - Found 4 classes in 1 base-packages!
beans = ["userProfileModule", "baseModule", "userModule", "emailService"]
.[DEBUG] 2017-06-15 14:33:59.757 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:40) - Loaded 5 bean define from reader --
[txREPEATABLE_READ, txSERIALIZABLE, txNONE, txREAD_UNCOMMITTED, txREAD_COMMITTED]
.[DEBUG] 2017-06-15 14:33:59.757 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:40) - Loaded 5 bean define from reader --
[txREPEATABLE_READ, txSERIALIZABLE, txNONE, txREAD_UNCOMMITTED, txREAD_COMMITTED]
.[DEBUG] 2017-06-15 14:33:59.760 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
.[DEBUG] 2017-06-15 14:33:59.760 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
.[DEBUG] 2017-06-15 14:33:59.764 org.nutz.ioc.loader.combo.ComboIocLoader.createIocLoader(ComboIocLoader.java:118) - found org.nutz.integration.quartz.QuartzIocLoader -- org.nutz.integration.quartz.QuartzIocLoader
.[DEBUG] 2017-06-15 14:33:59.764 org.nutz.ioc.loader.combo.ComboIocLoader.createIocLoader(ComboIocLoader.java:118) - found org.nutz.integration.quartz.QuartzIocLoader -- org.nutz.integration.quartz.QuartzIocLoader
.[DEBUG] 2017-06-15 14:33:59.764 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 0 bean define from path=[] --> []
.[DEBUG] 2017-06-15 14:33:59.764 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 0 bean define from path=[] --> []
.[INFO ] 2017-06-15 14:33:59.768 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:98) - NutIoc init begin ...
.[INFO ] 2017-06-15 14:33:59.768 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:98) - NutIoc init begin ...
.[INFO ] 2017-06-15 14:33:59.770 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:115) - ... NutIoc init complete
.[INFO ] 2017-06-15 14:33:59.770 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:115) - ... NutIoc init complete
.[INFO ] 2017-06-15 14:33:59.773 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
.[DEBUG] 2017-06-15 14:33:59.775 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:369) - @Views(DefaultViewMaker.class)
.[DEBUG] 2017-06-15 14:33:59.780 org.nutz.mvc.impl.NutLoading.createChainMaker(NutLoading.java:266) - @ChainBy(org.nutz.mvc.impl.NutActionChainMaker)
.[DEBUG] 2017-06-15 14:33:59.785 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:154) - module class location 'file:/F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/classes/'
.[DEBUG] 2017-06-15 14:33:59.785 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:154) - module class location 'file:/F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/classes/'
.[DEBUG] 2017-06-15 14:33:59.786 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:184) -  > scan 'net.wendal.nutzbook'
.[DEBUG] 2017-06-15 14:33:59.786 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:184) -  > scan 'net.wendal.nutzbook'
.[DEBUG] 2017-06-15 14:33:59.790 org.nutz.resource.Scans.scan(Scans.java:274) - Found 12 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:33:59.791 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserModule'
.[DEBUG] 2017-06-15 14:33:59.791 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserModule'
.[DEBUG] 2017-06-15 14:33:59.792 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserProfileModule'
.[DEBUG] 2017-06-15 14:33:59.792 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserProfileModule'
.[INFO ] 2017-06-15 14:33:59.816 org.nutz.mvc.impl.NutActionChainMaker.getProcessorByName(NutActionChainMaker.java:72) - Optional processor class not found, disabled : org.nutz.plugins.validation.ValidationProcessor
.[DEBUG] 2017-06-15 14:33:59.826 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/'                    >> (UserModule.java:33).index            : void       | @Ok(jsp:jsp.user.list) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.838 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/add'                 >> (UserModule.java:60).add              : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.839 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/count'               >> (UserModule.java:49).count            : int        | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.840 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/update'              >> (UserModule.java:74).update           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.843 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/delete'              >> (UserModule.java:90).delete           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.846 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/query'               >> (UserModule.java:101).query           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.846 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/test'                >> (UserModule.java:145).test            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.848 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/logout'              >> (UserModule.java:55).logout           : void       | @Ok(>>:/ ) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.849 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/login'               >> (UserModule.java:38).login            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 0 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.851 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/'            >> (UserProfileModule.java:130).index    : UserProfile | @Ok(jsp:jsp.user.profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.852 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/get'         >> (UserProfileModule.java:40).get       : UserProfile | @Ok(null ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.854 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/update'      >> (UserProfileModule.java:55).update    : void       | @Ok(void ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:33:59.857 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:118).readAvatar : Object     | @Ok(raw:jpg) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[INFO ] 2017-06-15 14:33:59.863 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/tmp/user_avatar [20000]
.[DEBUG] 2017-06-15 14:33:59.865 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\tmp\user_avatar'
.[INFO ] 2017-06-15 14:33:59.868 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 12
.[DEBUG] 2017-06-15 14:33:59.872 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:87).uploadAvatar : void       | @Ok(>>:/user/profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[INFO ] 2017-06-15 14:33:59.872 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:220) - Found 14 module methods
.[DEBUG] 2017-06-15 14:33:59.874 org.nutz.mvc.impl.NutLoading.evalLocalization(NutLoading.java:334) - @Localization not define
.[INFO ] 2017-06-15 14:33:59.875 org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:274) - Setup application...
.[DEBUG] 2017-06-15 14:33:59.876 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:33:59.876 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:33:59.876 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:33:59.876 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:33:59.878 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=$aop_async
.[DEBUG] 2017-06-15 14:33:59.878 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=$aop_async
.[DEBUG] 2017-06-15 14:33:59.881 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject($aop_async) in AsyncAopIocLoader@954785832
.[DEBUG] 2017-06-15 14:33:59.881 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject($aop_async) in AsyncAopIocLoader@954785832
.[DEBUG] 2017-06-15 14:33:59.881 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:33:59.881 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:33:59.882 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object '$aop_async' to [app] 
.[DEBUG] 2017-06-15 14:33:59.882 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object '$aop_async' to [app] 
.[DEBUG] 2017-06-15 14:33:59.886 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
.[DEBUG] 2017-06-15 14:33:59.886 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
.[DEBUG] 2017-06-15 14:33:59.886 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dao
.[DEBUG] 2017-06-15 14:33:59.886 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dao
.[DEBUG] 2017-06-15 14:33:59.887 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dao
.[DEBUG] 2017-06-15 14:33:59.887 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dao
.[DEBUG] 2017-06-15 14:33:59.890 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dao) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:33:59.890 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dao) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:33:59.890 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:33:59.890 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:33:59.900 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.dao.impl.NutDao without AOP
.[DEBUG] 2017-06-15 14:33:59.900 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.dao.impl.NutDao without AOP
.[DEBUG] 2017-06-15 14:33:59.901 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dao' to [app] 
.[DEBUG] 2017-06-15 14:33:59.901 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dao' to [app] 
.[DEBUG] 2017-06-15 14:33:59.901 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:33:59.901 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:33:59.902 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dataSource
.[DEBUG] 2017-06-15 14:33:59.902 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dataSource
.[DEBUG] 2017-06-15 14:33:59.902 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dataSource
.[DEBUG] 2017-06-15 14:33:59.902 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dataSource
.[DEBUG] 2017-06-15 14:33:59.908 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dataSource) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:33:59.908 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dataSource) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:33:59.908 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dataSource'<>
.[DEBUG] 2017-06-15 14:33:59.908 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dataSource'<>
.[DEBUG] 2017-06-15 14:33:59.925 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class com.alibaba.druid.pool.DruidDataSource without AOP
.[DEBUG] 2017-06-15 14:33:59.925 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class com.alibaba.druid.pool.DruidDataSource without AOP
.[DEBUG] 2017-06-15 14:33:59.925 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dataSource' to [app] 
.[DEBUG] 2017-06-15 14:33:59.925 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dataSource' to [app] 
.[DEBUG] 2017-06-15 14:33:59.926 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:33:59.926 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:33:59.927 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=conf
.[DEBUG] 2017-06-15 14:33:59.927 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=conf
.[DEBUG] 2017-06-15 14:33:59.927 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=conf
.[DEBUG] 2017-06-15 14:33:59.927 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=conf
.[DEBUG] 2017-06-15 14:33:59.927 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(conf) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:33:59.927 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(conf) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:33:59.928 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'conf'<>
.[DEBUG] 2017-06-15 14:33:59.928 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'conf'<>
.[DEBUG] 2017-06-15 14:33:59.928 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.ioc.impl.PropertiesProxy without AOP
.[DEBUG] 2017-06-15 14:33:59.928 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.ioc.impl.PropertiesProxy without AOP
.[DEBUG] 2017-06-15 14:33:59.929 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'conf' to [app] 
.[DEBUG] 2017-06-15 14:33:59.929 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'conf' to [app] 
.[DEBUG] 2017-06-15 14:33:59.933 org.nutz.resource.Scans.scan(Scans.java:274) - Found 3 resource by src( custom/ ) , regex( ^.+[.]properties$ )
.[INFO ] 2017-06-15 14:33:59.993 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:715) - {dataSource-1} inited
.[DEBUG] 2017-06-15 14:33:59.994 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:33:59.994 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[INFO ] 2017-06-15 14:34:00.016 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: C:\Users\17194/.nutz/tmp/dao/ [200000]
.[DEBUG] 2017-06-15 14:34:00.017 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'C:\Users\17194\.nutz\tmp\dao'
.[INFO ] 2017-06-15 14:34:00.017 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 0
.[DEBUG] 2017-06-15 14:34:00.024 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
.[DEBUG] 2017-06-15 14:34:00.024 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
.[INFO ] 2017-06-15 14:34:00.024 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
.[INFO ] 2017-06-15 14:34:00.024 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
.[DEBUG] 2017-06-15 14:34:00.263 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:188) - select expert : org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert
.[DEBUG] 2017-06-15 14:34:00.263 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:188) - select expert : org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert
.[DEBUG] 2017-06-15 14:34:00.270 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:199) - JDBC Driver --> mysql-connector-java-5.1.40 ( Revision: 402933ef52cad9aa82624e80acbea46e3a701ce6 )
.[DEBUG] 2017-06-15 14:34:00.270 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:199) - JDBC Driver --> mysql-connector-java-5.1.40 ( Revision: 402933ef52cad9aa82624e80acbea46e3a701ce6 )
.[DEBUG] 2017-06-15 14:34:00.270 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:200) - JDBC Name   --> MySQL Connector Java
.[DEBUG] 2017-06-15 14:34:00.270 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:200) - JDBC Name   --> MySQL Connector Java
.[DEBUG] 2017-06-15 14:34:00.270 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC URL    --> jdbc:mysql://127.0.0.1:3306/nutzbook
.[DEBUG] 2017-06-15 14:34:00.270 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC URL    --> jdbc:mysql://127.0.0.1:3306/nutzbook
.[DEBUG] 2017-06-15 14:34:00.366 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_client=utf8
.[DEBUG] 2017-06-15 14:34:00.366 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_client=utf8
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_connection=utf8
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_connection=utf8
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_database=utf8
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_database=utf8
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_filesystem=binary
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_filesystem=binary
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_results=
.[DEBUG] 2017-06-15 14:34:00.367 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_results=
.[DEBUG] 2017-06-15 14:34:00.368 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_server=utf8
.[DEBUG] 2017-06-15 14:34:00.368 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_server=utf8
.[DEBUG] 2017-06-15 14:34:00.368 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_system=utf8
.[DEBUG] 2017-06-15 14:34:00.368 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_system=utf8
.[DEBUG] 2017-06-15 14:34:00.368 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_sets_dir=C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\
.[DEBUG] 2017-06-15 14:34:00.368 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_sets_dir=C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\
.[DEBUG] 2017-06-15 14:34:00.370 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:219) - Mysql : binlog_format=STATEMENT
.[DEBUG] 2017-06-15 14:34:00.370 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:219) - Mysql : binlog_format=STATEMENT
.[DEBUG] 2017-06-15 14:34:00.370 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:226) - Mysql : database=nutzbook
.[DEBUG] 2017-06-15 14:34:00.370 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:226) - Mysql : database=nutzbook
.[DEBUG] 2017-06-15 14:34:00.371 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:232) - Mysql : user=root@localhost
.[DEBUG] 2017-06-15 14:34:00.371 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:232) - Mysql : user=root@localhost
.[DEBUG] 2017-06-15 14:34:00.407 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:221) - Database info --> MYSQL:[MySQL - 5.1.49-community]
.[DEBUG] 2017-06-15 14:34:00.407 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:221) - Database info --> MYSQL:[MySQL - 5.1.49-community]
.[DEBUG] 2017-06-15 14:34:00.414 org.nutz.resource.Scans.scan(Scans.java:274) - Found 3 resource by src( net/wendal/nutzbook/bean/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:34:00.492 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) - SELECT COUNT(*) FROM t_user 
.[DEBUG] 2017-06-15 14:34:00.492 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) - SELECT COUNT(*) FROM t_user 
.[DEBUG] 2017-06-15 14:34:00.496 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
.[DEBUG] 2017-06-15 14:34:00.496 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
.[DEBUG] 2017-06-15 14:34:00.496 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=nutQuartzCronJobFactory
.[DEBUG] 2017-06-15 14:34:00.496 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=nutQuartzCronJobFactory
.[DEBUG] 2017-06-15 14:34:00.497 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=nutQuartzCronJobFactory
.[DEBUG] 2017-06-15 14:34:00.497 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=nutQuartzCronJobFactory
.[DEBUG] 2017-06-15 14:34:00.497 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(nutQuartzCronJobFactory) in QuartzIocLoader@1062819927
.[DEBUG] 2017-06-15 14:34:00.497 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(nutQuartzCronJobFactory) in QuartzIocLoader@1062819927
.[DEBUG] 2017-06-15 14:34:00.498 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
.[DEBUG] 2017-06-15 14:34:00.498 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'nutQuartzCronJobFactory'<class org.nutz.integration.quartz.NutQuartzCronJobFactory>
.[DEBUG] 2017-06-15 14:34:00.500 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzCronJobFactory without AOP
.[DEBUG] 2017-06-15 14:34:00.500 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzCronJobFactory without AOP
.[DEBUG] 2017-06-15 14:34:00.500 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'nutQuartzCronJobFactory' to [app] 
.[DEBUG] 2017-06-15 14:34:00.500 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'nutQuartzCronJobFactory' to [app] 
.[DEBUG] 2017-06-15 14:34:00.502 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'scheduler'<>
.[DEBUG] 2017-06-15 14:34:00.502 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'scheduler'<>
.[DEBUG] 2017-06-15 14:34:00.502 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=scheduler
.[DEBUG] 2017-06-15 14:34:00.502 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=scheduler
.[DEBUG] 2017-06-15 14:34:00.502 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=scheduler
.[DEBUG] 2017-06-15 14:34:00.502 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=scheduler
.[DEBUG] 2017-06-15 14:34:00.503 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(scheduler) in QuartzIocLoader@1062819927
.[DEBUG] 2017-06-15 14:34:00.503 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(scheduler) in QuartzIocLoader@1062819927
.[DEBUG] 2017-06-15 14:34:00.503 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'scheduler'<>
.[DEBUG] 2017-06-15 14:34:00.503 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'scheduler'<>
.[DEBUG] 2017-06-15 14:34:00.503 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'scheduler' to [app] 
.[DEBUG] 2017-06-15 14:34:00.503 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'scheduler' to [app] 
.[DEBUG] 2017-06-15 14:34:00.565 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'jobFactory'<>
.[DEBUG] 2017-06-15 14:34:00.565 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'jobFactory'<>
.[DEBUG] 2017-06-15 14:34:00.565 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=jobFactory
.[DEBUG] 2017-06-15 14:34:00.565 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=jobFactory
.[DEBUG] 2017-06-15 14:34:00.566 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=jobFactory
.[DEBUG] 2017-06-15 14:34:00.566 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=jobFactory
.[DEBUG] 2017-06-15 14:34:00.566 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(jobFactory) in QuartzIocLoader@1062819927
.[DEBUG] 2017-06-15 14:34:00.566 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(jobFactory) in QuartzIocLoader@1062819927
.[DEBUG] 2017-06-15 14:34:00.567 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'jobFactory'<>
.[DEBUG] 2017-06-15 14:34:00.567 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'jobFactory'<>
.[DEBUG] 2017-06-15 14:34:00.568 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzJobFactory without AOP
.[DEBUG] 2017-06-15 14:34:00.568 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.integration.quartz.NutQuartzJobFactory without AOP
.[DEBUG] 2017-06-15 14:34:00.568 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'jobFactory' to [app] 
.[DEBUG] 2017-06-15 14:34:00.568 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'jobFactory' to [app] 
.[DEBUG] 2017-06-15 14:34:00.569 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:34:00.569 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:34:00.570 org.nutz.integration.quartz.NutQuartzCronJobFactory.init(NutQuartzCronJobFactory.java:35) - job define name=net.wendal.nutzbook.quartz.job.CleanNonActiveUserJob cron=0 0/2 * * * ?
.[DEBUG] 2017-06-15 14:34:00.571 org.nutz.ioc.impl.ScopeContext.remove(ScopeContext.java:84) - Remove object 'nutQuartzCronJobFactory' from [app] 
.[DEBUG] 2017-06-15 14:34:00.571 org.nutz.ioc.impl.ScopeContext.remove(ScopeContext.java:84) - Remove object 'nutQuartzCronJobFactory' from [app] 
.[ERROR] 2017-06-15 14:34:00.572 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:125) - Error happend during start serivce!
.org.nutz.ioc.IocException: [nutQuartzCronJobFactory] # FAIL to create Ioc Bean name=[nutQuartzCronJobFactory]
	at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:149)
	at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:210)
	at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:239)
	at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:146)
	at net.wendal.nutzbook.MainSetup.init(MainSetup.java:33)
	at org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:277)
	at org.nutz.mvc.impl.NutLoading.load(NutLoading.java:121)
	at org.nutz.mvc.ActionHandler.<init>(ActionHandler.java:19)
	at org.nutz.mvc.NutFilter._init(NutFilter.java:87)
	at org.nutz.mvc.NutFilter.init(NutFilter.java:65)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4700)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5340)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1696)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:484)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:433)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: net.wendal.nutzbook.quartz.job.CleanNonActiveUserJob
	at org.nutz.lang.Lang.wrapThrow(Lang.java:181)
	at org.nutz.lang.Lang.wrapThrow(Lang.java:180)
	at org.nutz.ioc.trigger.MethodEventTrigger.trigger(MethodEventTrigger.java:21)
	at org.nutz.ioc.weaver.DefaultWeaver.onCreate(DefaultWeaver.java:72)
	at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:138)
	... 57 more
Caused by: java.lang.ClassNotFoundException: net.wendal.nutzbook.quartz.job.CleanNonActiveUserJob
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at org.nutz.lang.Lang.loadClass(Lang.java:2022)
	at org.nutz.integration.quartz.NutQuartzCronJobFactory.init(NutQuartzCronJobFactory.java:38)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.nutz.ioc.trigger.MethodEventTrigger.trigger(MethodEventTrigger.java:18)
	... 59 more
[ERROR] 2017-06-15 14:34:00.580 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:127) - try to depose ioc
.[INFO ] 2017-06-15 14:34:00.582 org.nutz.ioc.impl.NutIoc.depose(NutIoc.java:255) - org.nutz.ioc.impl.NutIoc@1510883361 is closing. startup date [17-06-15 14:33:59.768]
.[INFO ] 2017-06-15 14:34:00.582 org.nutz.ioc.impl.NutIoc.depose(NutIoc.java:255) - org.nutz.ioc.impl.NutIoc@1510883361 is closing. startup date [17-06-15 14:33:59.768]
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'jobFactory' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'jobFactory' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'scheduler' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'scheduler' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'conf' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'conf' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'dao' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object 'dao' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object '$aop_async' ...
.[DEBUG] 2017-06-15 14:34:00.583 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:108) - Depose object '$aop_async' ...
.[DEBUG] 2017-06-15 14:34:00.584 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:113) - Depose object 'dataSource' ...
.[DEBUG] 2017-06-15 14:34:00.584 org.nutz.ioc.impl.ScopeContext.clear(ScopeContext.java:113) - Depose object 'dataSource' ...
.[INFO ] 2017-06-15 14:34:00.587 com.alibaba.druid.pool.DruidDataSource.close(DruidDataSource.java:1444) - {dataSource-1} closed
.[INFO ] 2017-06-15 14:34:00.587 org.nutz.ioc.impl.NutIoc.depose(NutIoc.java:262) - org.nutz.ioc.impl.NutIoc@1510883361 is deposed. startup date [17-06-15 14:33:59.768]
.[INFO ] 2017-06-15 14:34:00.587 org.nutz.ioc.impl.NutIoc.depose(NutIoc.java:262) - org.nutz.ioc.impl.NutIoc@1510883361 is deposed. startup date [17-06-15 14:33:59.768]
.
Caused by: java.lang.RuntimeException: java.lang.ClassNotFoundException: net.wendal.nutzbook.quartz.job.CleanNonActiveUserJob

所以不是邮件的事, 是quartz的问题. 要么补上这个类, 要么cron.properties注释掉这个job

不好意思...我邮件问题没解决就接着往下写....我定时任务是刚刚家的,我把cron.properties文件给删了,然后继续跑还是之前的日志:

[INFO ] 2017-06-15 14:39:11.870 org.nutz.mvc.NutFilter._init(NutFilter.java:81) - NutFilter[nutz] starting ...
.[DEBUG] 2017-06-15 14:39:11.924 org.nutz.resource.Scans.<init>(Scans.java:509) - Locations for Scans:
[Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar]]
.[DEBUG] 2017-06-15 14:39:12.041 org.nutz.resource.Scans.init(Scans.java:105) - Locations for Scans:
{E:\Dev\apache-tomcat-8.0.44\bin=Dir[path=E:\Dev\apache-tomcat-8.0.44\bin], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes=Dir[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\classes], E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\bootstrap.jar], E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar=Jar[path=E:\Dev\apache-tomcat-8.0.44\bin\tomcat-juli.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-shiro-1.r.60.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.servlet-api-3.1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\activation-1.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\quartz-2.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-logging-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-multibindings-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-spec-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\aopalliance-1.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\nutz-integration-quartz-1.r.60.r2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-collections-3.2.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\druid-1.0.26.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mysql-connector-java-5.1.40.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\c3p0-0.9.1.1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-all-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.mail-api-1.5.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-impl-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\guice-3.0.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\javax.inject-1.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\slf4j-api-1.7.12.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-guice-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-beanutils-1.9.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-core-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\shiro-web-1.3.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\log4j-1.2.17.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\taglibs-standard-jstlel-1.2.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\mail-1.4.5.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\jstl-1.2.jar], F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar=Jar[path=F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\lib\commons-email-1.3.3.jar]}
.[DEBUG] 2017-06-15 14:39:12.104 org.nutz.castor.Castors.reload(Castors.java:115) - Using 95 castor for Castors
.[DEBUG] 2017-06-15 14:39:12.114 org.nutz.mvc.config.AbstractNutConfig.createLoading(AbstractNutConfig.java:59) - Loading by class org.nutz.mvc.impl.NutLoading
.[INFO ] 2017-06-15 14:39:12.118 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:55) - Nutz Version : 1.r.60 
.[INFO ] 2017-06-15 14:39:12.119 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:56) - Nutz.Mvc[nutz] is initializing ...
.[DEBUG] 2017-06-15 14:39:12.119 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:60) - Web Container Information:
.[DEBUG] 2017-06-15 14:39:12.120 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:61) -  - Default Charset : UTF-8
.[DEBUG] 2017-06-15 14:39:12.120 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:62) -  - Current . path  : E:\Dev\apache-tomcat-8.0.44\bin\.
.[DEBUG] 2017-06-15 14:39:12.121 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:63) -  - Java Version    : 1.8.0_131
.[DEBUG] 2017-06-15 14:39:12.121 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:64) -  - File separator  : \
.[DEBUG] 2017-06-15 14:39:12.122 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:65) -  - Timezone        : Asia/Shanghai
.[DEBUG] 2017-06-15 14:39:12.122 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:66) -  - OS              : Windows 10 amd64
.[DEBUG] 2017-06-15 14:39:12.122 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:67) -  - ServerInfo      : Apache Tomcat/8.0.44
.[DEBUG] 2017-06-15 14:39:12.123 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:68) -  - Servlet API     : 3.1
.[DEBUG] 2017-06-15 14:39:12.124 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:73) -  - ContextPath     : /nutzbook
.[DEBUG] 2017-06-15 14:39:12.124 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:74) -  - context.tempdir : C:\Users\17194\.IntelliJIdea2017.1\system\tomcat\Unnamed_ShiroForNutzDemo\work\Catalina\localhost\nutzbook
.[DEBUG] 2017-06-15 14:39:12.126 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:75) -  - MainModule      : net.wendal.nutzbook.MainModule
.[DEBUG] 2017-06-15 14:39:12.128 org.nutz.mvc.impl.NutLoading.createContext(NutLoading.java:238) - >> app.root = F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo
.[DEBUG] 2017-06-15 14:39:12.130 org.nutz.mvc.impl.NutLoading.createIoc(NutLoading.java:379) - @IocBy(type=org.nutz.mvc.ioc.provider.ComboIocProvider, args=["*js", "ioc/", "*anno", "net.wendal.nutzbook", "*tx", "*async", "*quartz"],init=[])
.[DEBUG] 2017-06-15 14:39:12.151 org.nutz.resource.Scans.scan(Scans.java:274) - Found 2 resource by src( ioc/ ) , regex( ^(.+[.])(js|json)$ )
.[DEBUG] 2017-06-15 14:39:12.152 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [dao.js]
.[DEBUG] 2017-06-15 14:39:12.152 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [dao.js]
.[DEBUG] 2017-06-15 14:39:12.155 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [mail.js]
.[DEBUG] 2017-06-15 14:39:12.155 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:48) - loading ioc js config from [mail.js]
.[DEBUG] 2017-06-15 14:39:12.156 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 5 bean define from path=[ioc/] --> [conf, dao, emailAuthenticator, dataSource, htmlEmail]
.[DEBUG] 2017-06-15 14:39:12.156 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 5 bean define from path=[ioc/] --> [conf, dao, emailAuthenticator, dataSource, htmlEmail]
.[DEBUG] 2017-06-15 14:39:12.163 org.nutz.resource.Scans.scan(Scans.java:274) - Found 12 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:39:12.185 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.BaseModule
.[DEBUG] 2017-06-15 14:39:12.185 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.BaseModule
.[DEBUG] 2017-06-15 14:39:12.204 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserModule
.[DEBUG] 2017-06-15 14:39:12.204 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserModule
.[DEBUG] 2017-06-15 14:39:12.210 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserProfileModule
.[DEBUG] 2017-06-15 14:39:12.210 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.module.UserProfileModule
.[DEBUG] 2017-06-15 14:39:12.221 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.service.EmailServiceImpl
.[DEBUG] 2017-06-15 14:39:12.221 org.nutz.ioc.loader.annotation.AnnotationIocLoader.addClass(AnnotationIocLoader.java:74) - Found @IocBean : class net.wendal.nutzbook.service.EmailServiceImpl
.[INFO ] 2017-06-15 14:39:12.226 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:50) - Found 4 classes in 1 base-packages!
beans = ["userProfileModule", "baseModule", "userModule", "emailService"]
.[INFO ] 2017-06-15 14:39:12.226 org.nutz.ioc.loader.annotation.AnnotationIocLoader.<init>(AnnotationIocLoader.java:50) - Found 4 classes in 1 base-packages!
beans = ["userProfileModule", "baseModule", "userModule", "emailService"]
.[DEBUG] 2017-06-15 14:39:12.228 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:40) - Loaded 5 bean define from reader --
[txREPEATABLE_READ, txSERIALIZABLE, txNONE, txREAD_UNCOMMITTED, txREAD_COMMITTED]
.[DEBUG] 2017-06-15 14:39:12.228 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:40) - Loaded 5 bean define from reader --
[txREPEATABLE_READ, txSERIALIZABLE, txNONE, txREAD_UNCOMMITTED, txREAD_COMMITTED]
.[DEBUG] 2017-06-15 14:39:12.231 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
.[DEBUG] 2017-06-15 14:39:12.231 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.aop.interceptor.async.Async by type=org.nutz.aop.interceptor.async.AsyncAopIocLoader
.[DEBUG] 2017-06-15 14:39:12.236 org.nutz.ioc.loader.combo.ComboIocLoader.createIocLoader(ComboIocLoader.java:118) - found org.nutz.integration.quartz.QuartzIocLoader -- org.nutz.integration.quartz.QuartzIocLoader
.[DEBUG] 2017-06-15 14:39:12.236 org.nutz.ioc.loader.combo.ComboIocLoader.createIocLoader(ComboIocLoader.java:118) - found org.nutz.integration.quartz.QuartzIocLoader -- org.nutz.integration.quartz.QuartzIocLoader
.[DEBUG] 2017-06-15 14:39:12.237 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 0 bean define from path=[] --> []
.[DEBUG] 2017-06-15 14:39:12.237 org.nutz.ioc.loader.json.JsonLoader.<init>(JsonLoader.java:56) - Loaded 0 bean define from path=[] --> []
.[INFO ] 2017-06-15 14:39:12.243 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:98) - NutIoc init begin ...
.[INFO ] 2017-06-15 14:39:12.243 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:98) - NutIoc init begin ...
.[INFO ] 2017-06-15 14:39:12.246 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:115) - ... NutIoc init complete
.[INFO ] 2017-06-15 14:39:12.246 org.nutz.ioc.impl.NutIoc.<init>(NutIoc.java:115) - ... NutIoc init complete
.[INFO ] 2017-06-15 14:39:12.251 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:159) - Build URL mapping by org.nutz.mvc.impl.UrlMappingImpl ...
.[DEBUG] 2017-06-15 14:39:12.254 org.nutz.mvc.impl.NutLoading.createViewMakers(NutLoading.java:369) - @Views(DefaultViewMaker.class)
.[DEBUG] 2017-06-15 14:39:12.261 org.nutz.mvc.impl.NutLoading.createChainMaker(NutLoading.java:266) - @ChainBy(org.nutz.mvc.impl.NutActionChainMaker)
.[DEBUG] 2017-06-15 14:39:12.266 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:154) - module class location 'file:/F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/classes/'
.[DEBUG] 2017-06-15 14:39:12.266 org.nutz.mvc.impl.Loadings.scanModules(Loadings.java:154) - module class location 'file:/F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/classes/'
.[DEBUG] 2017-06-15 14:39:12.267 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:184) -  > scan 'net.wendal.nutzbook'
.[DEBUG] 2017-06-15 14:39:12.267 org.nutz.mvc.impl.Loadings.scanModuleInPackage(Loadings.java:184) -  > scan 'net.wendal.nutzbook'
.[DEBUG] 2017-06-15 14:39:12.272 org.nutz.resource.Scans.scan(Scans.java:274) - Found 12 resource by src( net/wendal/nutzbook/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:39:12.273 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserModule'
.[DEBUG] 2017-06-15 14:39:12.273 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserModule'
.[DEBUG] 2017-06-15 14:39:12.273 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserProfileModule'
.[DEBUG] 2017-06-15 14:39:12.273 org.nutz.mvc.impl.Loadings.checkModule(Loadings.java:198) -    >> add 'net.wendal.nutzbook.module.UserProfileModule'
.[INFO ] 2017-06-15 14:39:12.303 org.nutz.mvc.impl.NutActionChainMaker.getProcessorByName(NutActionChainMaker.java:72) - Optional processor class not found, disabled : org.nutz.plugins.validation.ValidationProcessor
.[DEBUG] 2017-06-15 14:39:12.318 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/'                    >> (UserModule.java:33).index            : void       | @Ok(jsp:jsp.user.list) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.333 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/add'                 >> (UserModule.java:60).add              : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.333 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/count'               >> (UserModule.java:49).count            : int        | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.336 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/update'              >> (UserModule.java:74).update           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.345 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/delete'              >> (UserModule.java:90).delete           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.348 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/query'               >> (UserModule.java:101).query           : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.349 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/test'                >> (UserModule.java:145).test            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.351 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/login'               >> (UserModule.java:38).login            : Object     | @Ok(json:{locked:'password|salt',ignoreNull:true}) @Fail(http:500) | by 0 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.353 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/logout'              >> (UserModule.java:55).logout           : void       | @Ok(>>:/ ) @Fail(http:500) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.356 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/'            >> (UserProfileModule.java:130).index    : UserProfile | @Ok(jsp:jsp.user.profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.357 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/get'         >> (UserProfileModule.java:40).get       : UserProfile | @Ok(null ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.360 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/update'      >> (UserProfileModule.java:55).update    : void       | @Ok(void ) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[INFO ] 2017-06-15 14:39:12.367 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: F:/gitResp/ShiroForNutzDemo/target/ShiroForNutzDemo/WEB-INF/tmp/user_avatar [20000]
.[DEBUG] 2017-06-15 14:39:12.371 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'F:\gitResp\ShiroForNutzDemo\target\ShiroForNutzDemo\WEB-INF\tmp\user_avatar'
.[INFO ] 2017-06-15 14:39:12.373 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 0
.[DEBUG] 2017-06-15 14:39:12.381 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:87).uploadAvatar : void       | @Ok(>>:/user/profile) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[DEBUG] 2017-06-15 14:39:12.384 org.nutz.mvc.impl.UrlMappingImpl.print(UrlMappingImpl.java:146) -    '/user/profile/avatar'      >> (UserProfileModule.java:118).readAvatar : Object     | @Ok(raw:jpg) @Fail(null ) | by 1 Filters | (I:UTF-8/O:UTF-8)
.[INFO ] 2017-06-15 14:39:12.384 org.nutz.mvc.impl.NutLoading.evalUrlMapping(NutLoading.java:220) - Found 14 module methods
.[DEBUG] 2017-06-15 14:39:12.385 org.nutz.mvc.impl.NutLoading.evalLocalization(NutLoading.java:334) - @Localization not define
.[INFO ] 2017-06-15 14:39:12.386 org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:274) - Setup application...
.[DEBUG] 2017-06-15 14:39:12.387 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:39:12.387 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:39:12.388 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:39:12.388 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get '$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:39:12.390 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=$aop_async
.[DEBUG] 2017-06-15 14:39:12.390 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=$aop_async
.[DEBUG] 2017-06-15 14:39:12.395 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject($aop_async) in AsyncAopIocLoader@1343059781
.[DEBUG] 2017-06-15 14:39:12.395 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject($aop_async) in AsyncAopIocLoader@1343059781
.[DEBUG] 2017-06-15 14:39:12.396 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:39:12.396 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'$aop_async'<interface org.nutz.ioc.aop.config.AopConfigration>
.[DEBUG] 2017-06-15 14:39:12.396 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object '$aop_async' to [app] 
.[DEBUG] 2017-06-15 14:39:12.396 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object '$aop_async' to [app] 
.[DEBUG] 2017-06-15 14:39:12.402 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
.[DEBUG] 2017-06-15 14:39:12.402 org.nutz.ioc.aop.SimpleAopMaker.<init>(SimpleAopMaker.java:79) - Load AopConfigure for anno=org.nutz.ioc.aop.Aop by type=org.nutz.ioc.aop.config.impl.AnnotationAopConfigration
.[DEBUG] 2017-06-15 14:39:12.403 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dao
.[DEBUG] 2017-06-15 14:39:12.403 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dao
.[DEBUG] 2017-06-15 14:39:12.403 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dao
.[DEBUG] 2017-06-15 14:39:12.403 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dao
.[DEBUG] 2017-06-15 14:39:12.406 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dao) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.406 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dao) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.406 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:39:12.406 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dao'<interface org.nutz.dao.Dao>
.[DEBUG] 2017-06-15 14:39:12.418 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.dao.impl.NutDao without AOP
.[DEBUG] 2017-06-15 14:39:12.418 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.dao.impl.NutDao without AOP
.[DEBUG] 2017-06-15 14:39:12.418 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dao' to [app] 
.[DEBUG] 2017-06-15 14:39:12.418 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dao' to [app] 
.[DEBUG] 2017-06-15 14:39:12.419 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:39:12.419 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:39:12.420 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dataSource
.[DEBUG] 2017-06-15 14:39:12.420 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=dataSource
.[DEBUG] 2017-06-15 14:39:12.420 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dataSource
.[DEBUG] 2017-06-15 14:39:12.420 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=dataSource
.[DEBUG] 2017-06-15 14:39:12.427 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dataSource) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.427 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(dataSource) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.427 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dataSource'<>
.[DEBUG] 2017-06-15 14:39:12.427 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'dataSource'<>
.[DEBUG] 2017-06-15 14:39:12.444 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class com.alibaba.druid.pool.DruidDataSource without AOP
.[DEBUG] 2017-06-15 14:39:12.444 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class com.alibaba.druid.pool.DruidDataSource without AOP
.[DEBUG] 2017-06-15 14:39:12.444 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dataSource' to [app] 
.[DEBUG] 2017-06-15 14:39:12.444 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'dataSource' to [app] 
.[DEBUG] 2017-06-15 14:39:12.445 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:12.445 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:12.445 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=conf
.[DEBUG] 2017-06-15 14:39:12.445 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=conf
.[DEBUG] 2017-06-15 14:39:12.446 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=conf
.[DEBUG] 2017-06-15 14:39:12.446 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=conf
.[DEBUG] 2017-06-15 14:39:12.446 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(conf) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.446 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(conf) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.446 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'conf'<>
.[DEBUG] 2017-06-15 14:39:12.446 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'conf'<>
.[DEBUG] 2017-06-15 14:39:12.447 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.ioc.impl.PropertiesProxy without AOP
.[DEBUG] 2017-06-15 14:39:12.447 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.nutz.ioc.impl.PropertiesProxy without AOP
.[DEBUG] 2017-06-15 14:39:12.447 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'conf' to [app] 
.[DEBUG] 2017-06-15 14:39:12.447 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'conf' to [app] 
.[DEBUG] 2017-06-15 14:39:12.451 org.nutz.resource.Scans.scan(Scans.java:274) - Found 2 resource by src( custom/ ) , regex( ^.+[.]properties$ )
.[INFO ] 2017-06-15 14:39:12.510 com.alibaba.druid.pool.DruidDataSource.init(DruidDataSource.java:715) - {dataSource-1} inited
.[DEBUG] 2017-06-15 14:39:12.511 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[DEBUG] 2017-06-15 14:39:12.511 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'dataSource'<>
.[INFO ] 2017-06-15 14:39:12.534 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:23) - Init file-pool by: C:\Users\17194/.nutz/tmp/dao/ [200000]
.[DEBUG] 2017-06-15 14:39:12.535 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:37) - file-pool.home: 'C:\Users\17194\.nutz\tmp\dao'
.[INFO ] 2017-06-15 14:39:12.535 org.nutz.filepool.NutFilePool.<init>(NutFilePool.java:66) - file-pool.cursor: 0
.[DEBUG] 2017-06-15 14:39:12.544 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
.[DEBUG] 2017-06-15 14:39:12.544 org.nutz.dao.jdbc.Jdbcs.<clinit>(Jdbcs.java:90) - Jdbcs init complete
.[INFO ] 2017-06-15 14:39:12.544 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
.[INFO ] 2017-06-15 14:39:12.544 org.nutz.dao.jdbc.Jdbcs.getExpert(Jdbcs.java:103) - Get Connection from DataSource for JdbcExpert, if you lock at here, check your database server and configure
.[DEBUG] 2017-06-15 14:39:12.791 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:188) - select expert : org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert
.[DEBUG] 2017-06-15 14:39:12.791 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:188) - select expert : org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert
.[DEBUG] 2017-06-15 14:39:12.800 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:199) - JDBC Driver --> mysql-connector-java-5.1.40 ( Revision: 402933ef52cad9aa82624e80acbea46e3a701ce6 )
.[DEBUG] 2017-06-15 14:39:12.800 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:199) - JDBC Driver --> mysql-connector-java-5.1.40 ( Revision: 402933ef52cad9aa82624e80acbea46e3a701ce6 )
.[DEBUG] 2017-06-15 14:39:12.800 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:200) - JDBC Name   --> MySQL Connector Java
.[DEBUG] 2017-06-15 14:39:12.800 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:200) - JDBC Name   --> MySQL Connector Java
.[DEBUG] 2017-06-15 14:39:12.800 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC URL    --> jdbc:mysql://127.0.0.1:3306/nutzbook
.[DEBUG] 2017-06-15 14:39:12.800 org.nutz.dao.impl.DaoSupport$1.invoke(DaoSupport.java:202) - JDBC URL    --> jdbc:mysql://127.0.0.1:3306/nutzbook
.[DEBUG] 2017-06-15 14:39:12.892 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_client=utf8
.[DEBUG] 2017-06-15 14:39:12.892 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_client=utf8
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_connection=utf8
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_connection=utf8
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_database=utf8
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_database=utf8
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_filesystem=binary
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_filesystem=binary
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_results=
.[DEBUG] 2017-06-15 14:39:12.893 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_results=
.[DEBUG] 2017-06-15 14:39:12.894 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_server=utf8
.[DEBUG] 2017-06-15 14:39:12.894 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_server=utf8
.[DEBUG] 2017-06-15 14:39:12.894 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_system=utf8
.[DEBUG] 2017-06-15 14:39:12.894 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_set_system=utf8
.[DEBUG] 2017-06-15 14:39:12.894 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_sets_dir=C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\
.[DEBUG] 2017-06-15 14:39:12.894 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:212) - Mysql : character_sets_dir=C:\Program Files (x86)\MySQL\MySQL Server 5.1\share\charsets\
.[DEBUG] 2017-06-15 14:39:12.896 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:219) - Mysql : binlog_format=STATEMENT
.[DEBUG] 2017-06-15 14:39:12.896 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:219) - Mysql : binlog_format=STATEMENT
.[DEBUG] 2017-06-15 14:39:12.896 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:226) - Mysql : database=nutzbook
.[DEBUG] 2017-06-15 14:39:12.896 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:226) - Mysql : database=nutzbook
.[DEBUG] 2017-06-15 14:39:12.897 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:232) - Mysql : user=root@localhost
.[DEBUG] 2017-06-15 14:39:12.897 org.nutz.dao.impl.jdbc.mysql.MysqlJdbcExpert.checkDataSource(MysqlJdbcExpert.java:232) - Mysql : user=root@localhost
.[DEBUG] 2017-06-15 14:39:12.929 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:221) - Database info --> MYSQL:[MySQL - 5.1.49-community]
.[DEBUG] 2017-06-15 14:39:12.929 org.nutz.dao.impl.DaoSupport.setDataSource(DaoSupport.java:221) - Database info --> MYSQL:[MySQL - 5.1.49-community]
.[DEBUG] 2017-06-15 14:39:12.933 org.nutz.resource.Scans.scan(Scans.java:274) - Found 3 resource by src( net/wendal/nutzbook/bean/ ) , regex( ^.+[.]class$ )
.[DEBUG] 2017-06-15 14:39:12.994 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) - SELECT COUNT(*) FROM t_user 
.[DEBUG] 2017-06-15 14:39:12.994 org.nutz.dao.impl.sql.run.NutDaoExecutor.printSQL(NutDaoExecutor.java:388) - SELECT COUNT(*) FROM t_user 
.[DEBUG] 2017-06-15 14:39:12.996 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
.[DEBUG] 2017-06-15 14:39:12.996 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
.[DEBUG] 2017-06-15 14:39:12.996 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=htmlEmail
.[DEBUG] 2017-06-15 14:39:12.996 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=htmlEmail
.[DEBUG] 2017-06-15 14:39:12.997 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=htmlEmail
.[DEBUG] 2017-06-15 14:39:12.997 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=htmlEmail
.[DEBUG] 2017-06-15 14:39:12.998 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(htmlEmail) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.998 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(htmlEmail) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:12.998 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
.[DEBUG] 2017-06-15 14:39:12.998 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'htmlEmail'<class org.apache.commons.mail.HtmlEmail>
.[DEBUG] 2017-06-15 14:39:13.010 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.ImageHtmlEmail without AOP
.[DEBUG] 2017-06-15 14:39:13.010 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.ImageHtmlEmail without AOP
.[DEBUG] 2017-06-15 14:39:13.019 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.019 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'emailAuthenticator'<>
.[DEBUG] 2017-06-15 14:39:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'emailAuthenticator'<>
.[DEBUG] 2017-06-15 14:39:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=emailAuthenticator
.[DEBUG] 2017-06-15 14:39:13.020 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:177) - 	 >> Load definition name=emailAuthenticator
.[DEBUG] 2017-06-15 14:39:13.021 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=emailAuthenticator
.[DEBUG] 2017-06-15 14:39:13.021 org.nutz.ioc.loader.map.MapLoader.load(MapLoader.java:67) - Loading define for name=emailAuthenticator
.[DEBUG] 2017-06-15 14:39:13.021 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(emailAuthenticator) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:13.021 org.nutz.ioc.loader.combo.ComboIocLoader.load(ComboIocLoader.java:169) - Found IocObject(emailAuthenticator) in JsonLoader(paths=[ioc/])
.[DEBUG] 2017-06-15 14:39:13.021 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'emailAuthenticator'<>
.[DEBUG] 2017-06-15 14:39:13.021 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:209) - 	 >> Make...'emailAuthenticator'<>
.[DEBUG] 2017-06-15 14:39:13.022 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.DefaultAuthenticator without AOP
.[DEBUG] 2017-06-15 14:39:13.022 org.nutz.ioc.aop.impl.DefaultMirrorFactory.getMirror(DefaultMirrorFactory.java:70) - Load class org.apache.commons.mail.DefaultAuthenticator without AOP
.[DEBUG] 2017-06-15 14:39:13.022 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'emailAuthenticator' to [app] 
.[DEBUG] 2017-06-15 14:39:13.022 org.nutz.ioc.impl.ScopeContext.save(ScopeContext.java:64) - Save object 'emailAuthenticator' to [app] 
.[DEBUG] 2017-06-15 14:39:13.023 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.023 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.023 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.023 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.023 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.023 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.024 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.024 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.024 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.024 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.024 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.024 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.029 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.[DEBUG] 2017-06-15 14:39:13.029 org.nutz.ioc.impl.NutIoc.get(NutIoc.java:151) - Get 'conf'<>
.

还有就是我的log4j配置文件

log4j.rootLogger=debug,Console,file

log4j.logger.org.nutz.dao = debug,Console,file
log4j.logger.org.nutz.ioc = debug,Console,file
log4j.logger.freemarker = debug,Console,file
log4j.logger.org.apache.commons = debug,Console,file
log4j.logger.me.zouooh.mvc.quartz.QuartzIocLoader = debug,Console,file
log4j.logger.org.nutz.mvc.impl.Loadings = debug,Console,file

log4j.appender.Console=org.apache.log4j.ConsoleAppender
log4j.appender.Console.layout=org.apache.log4j.PatternLayout
log4j.appender.Console.layout.ConversionPattern=[%-5p] %d{HH:mm:ss.SSS} %l - %m%n


log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='-'yyyy-MM-dd-HH'.log'
log4j.appender.file.File= ${catalina.home}/logs/market/out
log4j.appender.file.Append=true
log4j.appender.file.Encoding=UTF8
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%-5p] %d{yyyy-MM-dd HH:mm:ss.SSS} %l - %m%n.

从下面的代码开始debug吧.

HtmlEmail email = ioc.get(HtmlEmail.class);

话说都已经try-catch了, 无论是否成功都应该能往下走才对.

跟到

 email.buildMimeMessage();

这句后,跳到NutFilter的init方法里的finally

try {
    		_init(conf);
    	} finally {
    		Mvcs.set(null, null, null);
            Mvcs.ctx().removeReqCtx();
    	}

然后就挂了......

改成catch (Throwable e)

哈哈,终于抓到了

java.lang.NoClassDefFoundError: com/sun/mail/util/MailLogger
	at javax.mail.Session.initLogger(Session.java:226)
	at javax.mail.Session.<init>(Session.java:210)
	at javax.mail.Session.getInstance(Session.java:247)
	at org.apache.commons.mail.Email.getMailSession(Email.java:691)
	at org.apache.commons.mail.Email.buildMimeMessage(Email.java:1268)
	at org.apache.commons.mail.MultiPartEmail.buildMimeMessage(MultiPartEmail.java:254)
	at org.apache.commons.mail.HtmlEmail.buildMimeMessage(HtmlEmail.java:525)
	at org.apache.commons.mail.ImageHtmlEmail.buildMimeMessage(ImageHtmlEmail.java:108)
	at net.wendal.nutzbook.MainSetup.init(MainSetup.java:41)
	at org.nutz.mvc.impl.NutLoading.evalSetup(NutLoading.java:277)
	at org.nutz.mvc.impl.NutLoading.load(NutLoading.java:121)
	at org.nutz.mvc.ActionHandler.<init>(ActionHandler.java:19)
	at org.nutz.mvc.NutFilter._init(NutFilter.java:87)
	at org.nutz.mvc.NutFilter.init(NutFilter.java:65)
	at org.apache.catalina.core.ApplicationFilterConfig.initFilter(ApplicationFilterConfig.java:279)
	at org.apache.catalina.core.ApplicationFilterConfig.getFilter(ApplicationFilterConfig.java:260)
	at org.apache.catalina.core.ApplicationFilterConfig.<init>(ApplicationFilterConfig.java:105)
	at org.apache.catalina.core.StandardContext.filterStart(StandardContext.java:4700)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5340)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:753)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:729)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
	at org.apache.catalina.startup.HostConfig.manageApp(HostConfig.java:1696)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:484)
	at org.apache.catalina.mbeans.MBeanFactory.createStandardContext(MBeanFactory.java:433)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.util.modeler.BaseModelMBean.invoke(BaseModelMBean.java:300)
	at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
	at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
	at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1468)
	at javax.management.remote.rmi.RMIConnectionImpl.access$300(RMIConnectionImpl.java:76)
	at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1309)
	at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1401)
	at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:829)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
	at sun.rmi.transport.Transport$1.run(Transport.java:200)
	at sun.rmi.transport.Transport$1.run(Transport.java:197)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
	at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
	at java.security.AccessController.doPrivileged(Native Method)
	at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassNotFoundException: com.sun.mail.util.MailLogger
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1333)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1167)
[INFO ] 14:49:04.017 org.nutz.mvc.impl.NutLoading.load(NutLoading.java:141) - Nutz.Mvc[nutz] is up in 13764ms
	... 62 more
[INFO ] 14:49:04.018 org.nutz.mvc.NutFilter._init(NutFilter.java:113) - exclusionsPrefix  = ^(/rs/|/druid/)
15-Jun-2017 14:49:04.020 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory E:\Dev\apache-tomcat-8.0.44\webapps\manager
[2017-06-15 02:49:04,055] Artifact ShiroForNutzDemo:war exploded: Artifact is deployed successfully
[2017-06-15 02:49:04,055] Artifact ShiroForNutzDemo:war exploded: Deploy took 15,901 milliseconds
15-Jun-2017 14:49:04.092 信息 [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory E:\Dev\apache-tomcat-8.0.44\webapps\manager has finished in 71 ms

挖槽原来是我倒错包了....
错误的:

<!--<dependency>
      <groupId>javax.mail</groupId>
      <artifactId>javax.mail-api</artifactId>
      <version>1.5.2</version>
    </dependency>-->

正确的:

<dependency>
      <groupId>com.sun.mail</groupId>
      <artifactId>javax.mail</artifactId>
      <version>1.5.2</version>
    </dependency>

改了之后不报错了,但是依然没有收到邮件...

挖槽进了垃圾桶.....垃圾qq邮箱....

添加回复
请先登陆
回到顶部