2019-08-23 11:52
@JPEGIF access_token 是 jfinal weixin 自动缓存的,不用担心超过调用上限
sns_access_token 没有缓存,每次调用都是发起新的请求,这个东东是用于网页授权的,不同的用户给你提供的参数不同,授权完事后短时间内同一账号就不用再授权了,这个不用缓存
2019-08-23 11:47
@Mavenjay 你可以通过配置 me.setBaseUploadPath("/var/temp") 指令默认上传目录,将文件上传到项目之外就可以了
然后用完上传文件,通过 uf.getFile().delete() 删掉就好
2019-08-23 11:45
@思维炮弹 Aop.get(A.class) 能获取 @Inject(A.class) 无法获取,这肯定是你没有从 Controller、Interceptor 这条线一直 @Inject 注入下来
2019-08-22 16:42
@思维炮弹 那只剩最后一招了,单步调试下 AopFactory 这个类,看看里面哪一步没有获到到注入类
我估计应该是是映射问题,例如映射错了之类的
2019-08-22 16:41
@新手的呐喊 如果 jar 包内没有 log4j.properties 文件,而是放在 config 目录下面的话,应该是可以被加载的,除非 log4j 加载配置用了不一样的 ClassLoader
你在前面谈到用的是 log4j的classloader是 sun.misc.Launcher.AppClassLoader,正常情况下是不应该的
或许是 log4j 自己有代码去拿了这个 parent class loader
jfinal 为其它配置文件的加载做过测试,是可以从 config 目录下去拿的, log4j.properties 文件没有做过这个测试
2019-08-22 16:13
@新手的呐喊 其实 jfinal 的默认打包方式已经足够方便了,文件并不多,所有的 class 文件也打成了 jar 包
fatjar 还是建议啥配置都不用改的情况下使用。 为此,jfinal-undertow 还提供了命令行传参的方式来启动,注意看下面代码的第 188 行:
https://gitee.com/jfinal/jfinal-undertow/blob/jfinal-undertow-1.9/src/main/java/com/jfinal/server/undertow/UndertowServer.java
命令行可以这样用:
java -Dundertow.port=8080 -Dundertow.host=0.0.0.0 -jar my-project.jar
另外还有三个参数也可以这样来传递,也就是说,fatjar 的用法已经将常用的参数可以在配置文件之外优先传递了
这些努力都是为了让你在使用 fatjar 时不必再改配置文件,更不必去添加 config 目录
2019-08-22 16:06
@思维炮弹 只要是从 Controller、Interceptor、Validator 这三个组件开始 @Inject 注入的,沿路下来,一直都可以 @Inject
我估计你没成功是别的原因,你是不是在 Controller 的父类中注入了,这个要配置:
me.setInjectSuperClass(true)
最后,注入功能默认是不开启的,需要你配置一下:
me.setInjectDependency(true);
2019-08-21 20:58
@weiyie jfinal 4.4 对格式严格性这唯一的例外进行了改进,这回完美了,建议升级到 4.4,新版本已推送到了 maven 中心库,极度好用