JFinal

登录 注册

1 快速上手

2 JFinalConfig

3 Controller

4 AOP

5 ActiveRecord

6 Enjoy 模板引擎

7 EhCachePlugin

8 RedisPlugin

9 Cron4jPlugin

10 Validator

11 国际化

12 Json 转换

13 JFinal架构及扩展

14 升级到 3.5

1.1 Maven下开发

    如果使用Maven管理jar包依赖,只需要引入如下dependency:

<dependency>
    <groupId>com.jfinal</groupId>
    <artifactId>jfinal</artifactId>
    <version>3.5</version>
</dependency>

<dependency>
    <groupId>com.jfinal</groupId>
    <artifactId>jetty-server</artifactId>
    <version>2018.11</version>
    <scope>provided</scope>
</dependency>

    jetty-server 依赖的 scope 为 provided,仅用于开发阶段,部署时不需要,打包时也会自动跳过。

    这里特别注意一下:如果是使用 IDEA 开发,scope 仍然得设置成为 compile,否则提示缺少 jar 包,在打包的时候记得要改回 provided,避免打进一些不需要的 jar 包


     Maven下启动JFinal与前面介绍的非maven方式基本相同,唯一的区别是在创建Java Application启动项时,在Arguments标签中的Program arguments中输入:src/main/webapp 80 / 5参数用来指定web项目的根目录。如下示例代码是main方法启动方式:

public static void main(String[] args) {
    // eclipse 下的启动方式
    JFinal.start("src/main/webapp", 80, "/", 5);
}


常见问题解决:

1:出现 NoClassDefFoundError 异常

   原因之一是 maven 本地库下载的 jar 文件数据有错误。看一下异常中是哪个类文件抛出的 NoClassDefFoundError,在本地 maven 库中删掉其目录,让 maven 从中心库中重新下载一次即可,例如使用的 jfinal-3.5 版本,就删掉 maven repository 中的 /com/jfinal/jfinal 目录下面的 3.5 子目录。

   原因之二是对同一个 jar 包,引入了多个不同版本,删掉其中多余的即可


    以上问题本质上与 jfinal 无关,纯属 Java 开发时碰到的基础性异常