Coder Social home page Coder Social logo

jfinal-ext's Introduction

  • 👋 Hi, I’m @b1412
  • 👀 I’m interested in ...
  • 🌱 I’m currently learning ...
  • 💞️ I’m looking to collaborate on ...
  • 📫 How to reach me ...

jfinal-ext's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jfinal-ext's Issues

AutoBindRoutes checkArgument方法调用是不是有点问题啊

Preconditions.checkArgument(!clazz.getSimpleName().endsWith(suffix),
clazz.getSimpleName()+ " does not has a ControllerBind annotation and it,s name is not end with " + suffix);

多了个!吧……
public static void checkArgument(boolean expression, Object errorMessage)
{
if(!expression)
throw new IllegalArgumentException(String.valueOf(errorMessage));
else
return;
}

ExcelTools 使用了不兼容2007的API

try {
            fis = new FileInputStream(file);
            hwb = new HSSFWorkbook(fis);
        } catch (Exception e) {
            logger.error("create excel error", e);
            return Maps.newHashMap();
        }

建议改成

 Workbook hwb = null;
 try {
            fis = new FileInputStream(file);
//兼容2003和2007
            hwb = WorkbookFactory.create(fis);
        } catch (Exception e) {
            logger.error("create excel error", e);
            return Maps.newHashMap();
        }

测试例子怎么使用

我运行了某些类的main方法,jetty也提示运行成功但是就是无法访问到,是链接不对吗

ConfigPlugin的BUG

如果使用了两个以上的资源文件的时候,插件不会加载所有的资源文件。
问题出现在ConfigKit.java的81行:
map = ResourceKit.readProperties(fileName);
应该改为
map.putAll(ResourceKit.readProperties(fileName));

同样的问题在83行,希望尽快修正。

使用ClassSearch里的几点小建议

版本是3.1.0.

其中 com.jfinal.ext.kit.ClassSearcher Line 38 Class<?> classInFile = Reflect.on(classFile).get();
这里on方法里会调用forName 该方法将会执行static代码块,而我做Annotation时,不希望static执行,而是实例化时执行。

2 关于其中的search方法 Line 167 List classFileList = findFiles(classpath, "*.class"); 这里,有比较严重的hardcode 代码 Line 80处 classname = tem.substring(tem.indexOf("/classes") + "/classes".length() + 1, tem.indexOf(".class")); 如果目录中不幸含有classes,或者是 目录本身不包括/classes的话,这两种可能性在WEB项目里有可能性,但是在unit test里是可能性很大的。

line 168 classFileList.addAll(findjarFiles(libDir, includeJars));

private String libDir = PathKit.getWebRootPath() + File.separator + "WEB-INF" + File.separator + "lib";
这里是针对web项目的, 而且对于一些embed的容器, libs是直接可能是直接在classpath里指定的。 就会出现问题

表自动映射在服务器上报错

表自动映射的时候,无法读取到表。如:数据库中有 user 表,但是启动的时候,提示 user 包不存在。
环境:jdk7+tomcat7+mysql5.1

com.jfinal.ext.kit.ClassSearcher 中报正则表达式错误

具体文件路径为:com.jfinal.ext.kit.ClassSearcher 中的第87行。
String className = fileName.substring(start + open.length(), end).trim().replaceAll(File.separator, ".");

报错如下:
严重: Exception starting filter jfinal
java.util.regex.PatternSyntaxException: Unexpected internal error near index 1

^
处理方法是将改行的replaceAll 改为replace 。
运行环境为windows 7 ,jdk 为1.7

Cron4jPlugin的bug

类似#10
只要有一样的crontab规则的只加载一个,这个在osc也提了,但是没人理。
因为这个bug我们监控停了一周。。。
望尽快修复,避免更多人掉进这个坑

3.1.3版本QuartzPlugin问题

我使用的maven版本,使用3.1.2的QuartzPlugin时候,代码中加入如下:
QuartzPlugin quartzPlugin = new QuartzPlugin("job.properties");
me.add(quartzPlugin);
出现异常信息
Exception in thread "main" java.lang.InstantiationError: org.quartz.JobDetail
at com.jfinal.ext.plugin.quartz.QuartzPlugin.start(QuartzPlugin.java:76)
at com.jfinal.core.Config.startPlugins(Config.java:87)
at com.jfinal.core.Config.configJFinal(Config.java:48)
at com.jfinal.core.JFinal.init(JFinal.java:65)
at com.jfinal.core.JFinalFilter.init(JFinalFilter.java:49)
at org.eclipse.jetty.servlet.FilterHolder.doStart(FilterHolder.java:119)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.servlet.ServletHandler.initialize(ServletHandler.java:724)
at org.eclipse.jetty.servlet.ServletContextHandler.startContext(ServletContextHandler.java:265)
at org.eclipse.jetty.webapp.WebAppContext.startContext(WebAppContext.java:1250)
at org.eclipse.jetty.server.handler.ContextHandler.doStart(ContextHandler.java:706)
at org.eclipse.jetty.webapp.WebAppContext.doStart(WebAppContext.java:492)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at org.eclipse.jetty.server.handler.HandlerWrapper.doStart(HandlerWrapper.java:95)
at org.eclipse.jetty.server.Server.doStart(Server.java:277)
at org.eclipse.jetty.util.component.AbstractLifeCycle.start(AbstractLifeCycle.java:64)
at com.jfinal.server.JettyServer.doStart(JettyServer.java:121)
at com.jfinal.server.JettyServer.start(JettyServer.java:64)
at com.jfinal.core.JFinal.start(JFinal.java:137)
at com.dk.common.StartServer.main(StartServer.java:7)
换成3.1.3版本,继续跑出现以下异常:

java.util.regex.PatternSyntaxException: Unexpected internal error near index 1

^
at java.util.regex.Pattern.error(Pattern.java:1955)
at java.util.regex.Pattern.compile(Pattern.java:1702)
at java.util.regex.Pattern.(Pattern.java:1351)
at java.util.regex.Pattern.compile(Pattern.java:1028)
at java.lang.String.replaceAll(String.java:2211)
at com.jfinal.ext.kit.ClassSearcher.findFiles(ClassSearcher.java:87)
at com.jfinal.ext.kit.ClassSearcher.findFiles(ClassSearcher.java:79)
at com.jfinal.ext.kit.ClassSearcher.findFiles(ClassSearcher.java:79)
at com.jfinal.ext.kit.ClassSearcher.findFiles(ClassSearcher.java:79)
at com.jfinal.ext.kit.ClassSearcher.search(ClassSearcher.java:137)

不懂3.1.3版本的ClassSearcher有更改什么。
最后我按照八皮的http://my.oschina.net/b1412/blog/68082
重写了QuartzPlugin,使用3.1.2版本可以正常运行起来,希望作者能够维护一下

SqlInXmlPlugin插件应用

xml文件放在项目的根目录中resource文件夹。经过调试,调到这一步的时候“ File file = new File(SqlKit.class.getClassLoader().getResource("").getFile());”,file是空的。无法扫描到xml文件。请问是什么问题?还需要配置哪里吗?

AutoTableBindPlugin在maven单元测试中识别classpath的问题

您好:
使用AutoTableBindPlugin在maven单元测试时,插件通过PathKit.getRootClassPath()默认识别的classpath是【project_root\target\test-classes\】目录,而这个目录下通常没有项目使用的model文件,因为只是针对测试生成的路径。
由于model文件通常都放置在【project_root\target\classes\】目录下,因此做了一下classpath指定:
String cp = PathKit.getRootClassPath();// target\test-classes
String path = rp.substring(0, cp.lastIndexOf("")).concat("\classes");
atbp.classpath(path);
指定后插件可以扫描到正确的classpath,但出现了另一个问题:获取到的全部class文件都少了一部分内容!即,原本名为foobar.model.demo的class被识别成了“r.model.demo”!
查看了下插件源码,发现open里面依然用了原来的classpath(ClassSearcher的83行):
String open = PathKit.getRootClassPath() + File.separator;
导致自定义的classpath被截断了。
麻烦作者确认下是否为bug?
或者说是classpath设定的使用方法不正确?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.