mavn的jfinal项目启动报错,我的web.xml配置应该没问题啊

奋进的小莫 发布于 2016/01/09 12:51
阅读 345
收藏 0
package com.xiaomo.TimeMachine;

import com.jfinal.config.*;
import com.jfinal.core.JFinal;
import com.jfinal.ext.handler.ContextPathHandler;
import com.jfinal.kit.PropKit;
import com.jfinal.plugin.activerecord.ActiveRecordPlugin;
import com.jfinal.plugin.c3p0.C3p0Plugin;
import com.xiaomo.TimeMachine.model._MappingKit;
import com.xiaomo.TimeMachine.routes.AdminRoutes;
import com.xiaomo.TimeMachine.routes.FrontRoutes;

/**
 * API引导式配置
 */
public class TimeMachineConfig  extends JFinalConfig {

    public static C3p0Plugin createC3p0Plugin() {
        return new C3p0Plugin(PropKit.get("jdbcUrl"), PropKit.get("user"), PropKit.get("password").trim());
    }



    /**
     * 配置常量
     */
    public void configConstant(Constants me) {
        // 加载少量必要配置,随后可用PropKit.get(...)获取值
        PropKit.use("db_config.properties");
        me.setDevMode(PropKit.getBoolean("devMode", false));
        // Template end
        me.setError404View("/error/404.vm");
        me.setError500View("/error/500.vm");
    }

    /**
     * 配置路由
     */
    public void configRoute(Routes me) {
        me.add(new AdminRoutes()); //后台路由
        me.add(new FrontRoutes()); //前台路由
    }

    /**
     * 配置插件
     */
    public void configPlugin(Plugins me) {
        // 配置C3p0数据库连接池插件
        C3p0Plugin C3p0Plugin = createC3p0Plugin();
        me.add(C3p0Plugin);

        // 配置ActiveRecord插件
        ActiveRecordPlugin arp = new ActiveRecordPlugin(C3p0Plugin);
        me.add(arp);

        // 所有配置在 MappingKit 中搞定
        _MappingKit.mapping(arp);
    }

    /**
     * 配置全局拦截器
     */
    public void configInterceptor(Interceptors me) {


    }

    /**
     * 配置处理器
     */
    public void configHandler(Handlers me) {
        me.add(new ContextPathHandler("CONTEXT_PATH"));
    }


    /**
     * 建议使用 JFinal 手册推荐的方式启动项目
     * 运行此 main 方法可以启动项目,此main方法可以放置在任意的Class类定义中,不一定要放于此
     */
    public static void main(String[] args) {
        JFinal.start("src/main/webapp", 80, "/", 5);
    }
}



加载中
0
JFinal
JFinal
   IDEA 与 eclipse 下搭建 jfinal maven项目,都要注意编译后的 classes 文件输出路径为: webapp/WEB-INF/classes,这样的话 jfinal 集成的 jetty 才可以找到这些个 classes 以及 web.xml 文件。参考一下: http://www.oschina.net/search?q=jfinal+idea&scope=blog&sort_by_time=1
JFinal
JFinal
回复 @胡朋 : jfinal 2.1 maven 明天晚上会推送,周末时间会再处理一些反馈
奋进的小莫
奋进的小莫
@JFinal 顺便问一句,我现在用2.1是maven指定本地的jar. maven库什么时候推送2.1?
奋进的小莫
奋进的小莫
@JFinal maven默认编译路径是target,怎么指定到webapp/WEB-INF/classes 上呢
1
奋进的小莫
奋进的小莫
@JFinal  找到地方了。。谢谢
1
哎码
哎码
如果是分好几个Module的话还要把src/main/webapp改成  moduleName/src/main/webapp
0
Jimmy哥
Jimmy哥

引用来自“JFinal”的评论

   IDEA 与 eclipse 下搭建 jfinal maven项目,都要注意编译后的 classes 文件输出路径为: webapp/WEB-INF/classes,这样的话 jfinal 集成的 jetty 才可以找到这些个 classes 以及 web.xml 文件。参考一下: http://www.oschina.net/search?q=jfinal+idea&scope=blog&sort_by_time=1
我也是在 IDEA 通过 main 方法跑 final 项目,但是启动的时候报错:Caused by: java.lang.ClassNotFoundException: org.eclipse.jetty.server.Connector

这个错误应该是相关的 jar 没添加到 classpath 中

但是Project Structure->Modules->Dependencies 里面有包含相关的两个 jar 包

com.jfinal:jetty-server:8.1.8 
org.eclipse.jetty:jetty-server:8.1.8v10121106
这两个 jar 包的 scope 都是 Provided 的。
如果我将scope 改为 Compile,就不会报这个错了。
不过我感觉,应该不是 scope 的问题吧
返回顶部
顶部