NutzCN Logo
问答 初学自建一个demo,报ClassNotFound,不太明白原因.按教程操作的
发布于 2534天前 作者 ang 2512 次浏览 复制 上一个帖子 下一个帖子
标签:
Caused by: java.lang.ClassNotFoundException: net.wendal.nutzbook.MainModule
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1892)
	at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1735)
	at java.lang.Class.forName0(Native Method)
	at java.lang.Class.forName(Class.java:264)
	at org.nutz.lang.Lang.loadClass(Lang.java:2027)
	at org.nutz.mvc.config.AbstractNutConfig.getMainModule(AbstractNutConfig.java:127)
	... 16 more
@SetupBy(value=MainSetup.class)
@IocBy(type=ComboIocProvider.class,args= {
		"*js", "ioc/",//负责加载js/json结尾的ioc配置文件
        "*anno", "net.wendal.nutzbook",//负责处理注解式Ioc, 例如@IocBean
        "*tx", // 负责加载内置的事务拦截器定义 aop
        "*async"// 异步执行aop
})
@Modules(scanPackage=true)
public class MainModule {

}
public class MainSetup implements Setup{

	@Override
	public void destroy(NutConfig nc) {
		// TODO Auto-generated method stub
		
	}

	@Override
	public void init(NutConfig nc) {
		Ioc ioc = nc.getIoc();
		Dao dao = ioc.get(Dao.class);
		Daos.createTablesInPackage(dao, "net.wendal.nutzbook", 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);
        }
	}
18 回复

贴MainModule的全部内容了

package net.wendal.nutzbook;

import org.nutz.mvc.annotation.IocBy;
import org.nutz.mvc.annotation.Modules;
import org.nutz.mvc.annotation.SetupBy;
import org.nutz.mvc.ioc.provider.ComboIocProvider;

@SetupBy(value=MainSetup.class)
@IocBy(type=ComboIocProvider.class,args= {
		"*js", "ioc/",//负责加载js/json结尾的ioc配置文件
        "*anno", "net.wendal.nutzbook",//负责处理注解式Ioc, 例如@IocBean
        "*tx", // 负责加载内置的事务拦截器定义 aop
        "*async"// 异步执行aop
})
@Modules(scanPackage=true)
public class MainModule {

}

能看出我哪儿出了问题吗?

看上去没问题, 已经写到MainSetup,那之前是已经能跑的?

空项目的时候也是报classnotfound,不过那是本来就没有类

... 那你还继续写...

eclipse吗? MainModule.java的绝对路径是多少

绝对路径是:/nutzbook/src/net/wendal/nutzbook/MainModule.java.不过已经好了,我也不知道为什么.
但现在有个sql小问题.就是
@Column("passwd")和
private String password里面的password有什么不同之处?
!Nutz SQL Error: 'SELECT * FROM t_user WHERE name='admin' AND passwd='123456' LIMIT 0, 1 '

还有啊,登录测试里,返回的是false. MainSetup里面的密码无错

2017-12-9 14:57:46.570 DEBUG [http-bio-8080-exec-6] Found mapping for [GET] path=/user/login : UserModule.login(UserModule.java:30)
2017-12-9 14:57:46.571 DEBUG [http-bio-8080-exec-6] Get 'userModule'<class net.wendal.nutzbook.module.UserModule>
2017-12-9 14:57:46.575 DEBUG [http-bio-8080-exec-6] SELECT * FROM t_user  WHERE name=? AND password=? LIMIT 0, 1 
    |     1 |      2 |
    |-------|--------|
    | admin | 123456 |
  For example:> "SELECT * FROM t_user  WHERE name='admin' AND password='123456' LIMIT 0, 1 "

@Column里面的是数据库字段名

把数据库删掉重建吧,select不到数据才会返回false

ok.登录解决了.thanks

能不能问你一个半前端问题,是之前一个同事写得,用nutz.下面这段代码的效果在页面显示不了.

</div><!-- </span> -->
		                    	<p>
		                    		<#if order.status=="${STATUS_WAITING_AUDIT}">
		                    			<input type="button" name="btn_audit"  class="btn-s btn-red" data-toggle="modal" value="影像复核" data-orderid="${(order.uuid)!!}" />
		                    		<#elseif  order.status=="${STATUS_WAITING_MAKE}">
		                    			<input type="button" name="btn_click_rebuild" class="btn-s btn-red" data-toggle="modal" data-orderid="${(order.uuid)!!}" value="开始重建" />
		                    		<#elseif  order.status=="${STATUS_MAKING}">	
		                    			<a href="${base}/rebuild/to_upload/${order.uuid!!}" target="_blank"  class="btn-s btn-red" >上传三维模型</a>
		                    			<a href="${base}/rebuild/to_report_editor/${order.uuid!!}" class="btn-s btn-red">填写模型综述</a>

这是什么模板??

不清楚呢,一般在哪儿可以查看是什么模板?

MainModule的@Views注解

@Views({ ELFreemarkerViewMaker.class })
是这个

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