NutzCN Logo
问答 IocBy扫描不到lib下的jar
发布于 1785天前 作者 hujun82589167 1243 次浏览 复制 上一个帖子 下一个帖子
标签:

一个nutzboot项目,一个外部jar,将此jar作为依赖引入nutzboot项目。
nb项目的Mainlancher在目录com.wisedu.oa下面,代码是:

@IocBean(create="init", depose="depose")
@SetupBy(value = MainSetup.class)
@Modules
@IocBy(args={ "/ioc"})
public class MainLauncher {
    
    @Inject
    protected PropertiesProxy conf;
    @Inject
    protected Dao dao;
    @At("/")
    @Ok("->:/index.html")
    public void index() {}
    
    public void init() {
        // NB自身初始化完成后会调用这个方法
        dao.create(User.class, false);
        if (dao.count(User.class) == 0) {
            User user = new User();
            user.setName("wendal");
            user.setAge(18);
            user.setLocation("广州");
            dao.insert(user);
         }
    }
    public void depose() {}

    public static void main(String[] args) throws Exception {
        new NbApp().setArgs(args).setPrintProcDoc(true).run();
    }

}

jar里面的目录是com.wisedu.oa.attendce.module ,里面有一个类:

@At("/attendce")
@IocBean
public class AttendceModule  {
    
    @Inject
    protected PropertiesProxy conf;
    
    @At
    @Ok("->:/index.html")
    public void index() {
        System.out.println("index==========="+conf.get("test"));
    }
    @At
    @Ok("->:/test.html")
    public void test() {
        System.out.println("test===========");
    }

}

打包nb项目,启动日志里显示

Moudle with @InjectName('attendceModule') or @IocBean('attendceModule') but no such ioc bean found!! Pls check your ioc configure!!
3 回复

要做成maven依赖

我是做成maven依赖的,install在本地的,不然也打不了包。我试了一下,将MainLancher 的iocby强制指定的扫描包是可以的,像这样:@IocBy(args={ "com.wisedu.oa.attendce.module"}) 但是@IocBy(args={ "com.wisedu.oa"}) 这样不行,不会自动扫描 MainLancher所在目录下的子目录吗?

nutzboot不需要声明@IocBy

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