NutzCN Logo
问答 在原来nutz的web项目,升级为nutzboot,启动找不到配置文件?
发布于 8天前 作者 qq_1bc520b5 75 次浏览 复制 上一个帖子 下一个帖子
标签:

想在把原来的nutz的web项目(由web.xml驱动),升级为nutzboot,但参考todo-backend-nutzboot项目,运行的时候,发现配置文件找不到...

@IocBy(type = ComboIocProvider.class, args = { "*org.nutz.ioc.loader.json.JsonLoader", "ioc/",
		"*org.nutz.ioc.loader.annotation.AnnotationIocLoader", "com.abc.api", "*org.nutz.aop.interceptor.ioc.TransIocLoader" })
@Encoding(input = "UTF-8", output = "UTF-8")
public class MainModule {
      new NbApp(TodoLauncher.class).run();
}

ioc配置如下
```
var ioc = {
conf: {
type: "org.nutz.ioc.impl.PropertiesProxy",
fields: {
paths : ["conf/config.properties"]
}
},
......

错误日志如下

2018-01-11 16:30:50,987 INFO [main] org.nutz.lang.inject.InjectBySetter[inject 61]- Fail to value by setter
java.lang.IllegalArgumentException: maxActive can't not set zero
at com.alibaba.druid.pool.DruidDataSource.setMaxActive(DruidDataSource.java:636)
at com.alibaba.druid.pool.DruidDataSource$FM$setMaxActive$c76b354f05bc0c0f1223517f51b5d4bd.invoke(DruidDataSource.java)
at org.nutz.lang.inject.InjectBySetter.inject(InjectBySetter.java:51)
at org.nutz.ioc.weaver.FieldInjector.inject(FieldInjector.java:33)
at org.nutz.ioc.weaver.DefaultWeaver.fill(DefaultWeaver.java:67)
at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:138)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:239)
at org.nutz.ioc.val.ReferValue.get(ReferValue.java:24)
at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:64)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:239)
at org.nutz.ioc.val.ReferValue.get(ReferValue.java:24)
at org.nutz.ioc.weaver.FieldInjector.inject(FieldInjector.java:32)
at org.nutz.ioc.weaver.DefaultWeaver.fill(DefaultWeaver.java:67)
at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:138)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:239)
at org.nutz.ioc.val.ReferTypeValue.get(ReferTypeValue.java:60)
at org.nutz.ioc.weaver.FieldInjector.inject(FieldInjector.java:32)
at org.nutz.ioc.weaver.DefaultWeaver.fill(DefaultWeaver.java:67)
at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:138)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:239)
at org.nutz.ioc.val.ReferTypeValue.get(ReferTypeValue.java:60)
at org.nutz.ioc.weaver.FieldInjector.inject(FieldInjector.java:32)
at org.nutz.ioc.weaver.DefaultWeaver.fill(DefaultWeaver.java:67)
at org.nutz.ioc.impl.ObjectMakerImpl.make(ObjectMakerImpl.java:138)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:239)
at org.nutz.ioc.impl.NutIoc.get(NutIoc.java:269)
at com.mgtv.person.feed.web.MainSetup.(MainSetup.java:21)
at com.mgtv.person.feed.web.MainSetup$FC$62febe830a4a6764c634d9e263964cee.invoke(MainSetup.java)

```

6 回复

把IocBy删掉

https://gitee.com/nutz/nutzboot/blob/dev/doc/struct.md

不需要也不能自行定义conf对象的, 已经有内置的conf对象

dao.js的常见配置已经由 starter-nutz-dao提供, 不需要自行添加的

干掉上面那些annotation,可以启动成功。But...原来通过@IocBy制定ioc配置目录、Aop TransIocLoader、init等等。
@SetupBy、@Filters 这些功能要怎么兼容呢?

@qq_1bc520b5 这样已经考虑到了的

ioc js默认就是ioc/目录,注解就是MainLauncher所在package,事务和异步注解都是默认值,所以你原本的iocby是全部内置了。

至于后面两个注解,原本怎么就怎么写

噢,明白了,谢谢!
看了https://gitee.com/nutz/nutzboot/blob/dev/doc/struct.md的项目结构,我把config.properties改成application.properties 启动成功了。

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