`
morflame
  • 浏览: 49584 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JFinal使用idea做开发不能自动编译

阅读更多

看到JFinal不错,今天特地来尝试一下,使用idea来做开发,悲剧就此产生……

 

1、写了一个简单的Controller,完全按照文档写的肯定没问题,结果死活就是404,而且是jetty渲染的那种404页面,不是JFinal渲染的那个404页面,说明Jetty成功启动了,但是,JFinal的Filter没有被加载,问题出在哪里呢???JFinal启动的时候需要传入4个参数:webAppDir,port,contextPath,scanInterval,后面三个参数肯定没问题,难道是webAppDir的路径给的不对?我在JFinal.start()调用之前特意touch了一个文件,结果才知道了idea下的workdir在哪里……修改参数,最后变成这样才可以:JFinal.start("src/main/webapp", 80, "/", 5);

 

2、修改了java文件没法自动load

这可是JFinal的一大特点,为啥到我这就不好使了呢?难道是JFinal的ClassLoader写的有问题?debug了一下代码,看上去没啥问题……既然监测逻辑没有问题,那就是输入有问题,对于这个监测逻辑的输入是什么?是我的classpath,即JFinal会去定时读取classpath的文件,看是否发生了变化,如果发生了变化load进来。我现在怀疑idea可能没有即时编译,于是……我启动webapp之后打开target/classes目录随便找了一个class看他的时间戳,OK,记录下来,过一分钟,修改源文件,再回来看,擦,时间戳没有发生变化……这说明我修改了java源文件了,但是idea没有给我即时编译到target目录,eclipse是可以的啊,难道idea真的不行?是不是有个配置开关没有打开,于是,我就Google啊,结果发现……idea确实不能自动编译,不过到了版本12之后可以了,需要配置一下,方法如下:



 就是红线圈起来的两个选项,打开就可以自动编译了,但是,看到后面括号里的话我心凉了……

 

看来以后开发JFinal的项目还是用eclipse吧。。。

 

 

 

 

  • 大小: 20 KB
0
1
分享到:
评论
4 楼 igordonshaw 2013-12-17  
随遇羽翔 写道
我也使用idea开发,不过使用idea的人的确很少。我也是一直手动编译程序,其实自动和手动关键看个人,手动编译我觉得更能知晓自己程序的修改和执行。

当加入了c3p0数据源插件后,手动编译也会报错的,必须重启啊,用jrebel debug的话也是直接报错
3 楼 morflame 2013-12-16  
igordonshaw 写道
真是很悲剧啊,作者也没有给出好的解决方法
参见我的提问,http://www.oschina.net/question/929757_136931


我现在只要修改了java代码都是重启一下,其实也很快,jetty毕竟比较轻量,JFinal内置的热加载一般也是每隔5s扫描一次,感觉手工做还可以忍受:)idea下开发同样做到修改了freemaker模板文件立即生效,有这个我已经满足了,哈哈
2 楼 igordonshaw 2013-12-16  
真是很悲剧啊,作者也没有给出好的解决方法
参见我的提问,http://www.oschina.net/question/929757_136931
1 楼 随遇羽翔 2013-12-07  
我也使用idea开发,不过使用idea的人的确很少。我也是一直手动编译程序,其实自动和手动关键看个人,手动编译我觉得更能知晓自己程序的修改和执行。

相关推荐

    Java字节码加密工具

    1. 下载并导入classfinal项目:从GitHub或其他源获取classfinal的源代码,将其导入到IDE(如IntelliJ IDEA或Eclipse)中。 2. 配置混淆规则:根据项目需求,配置混淆策略,比如类名、方法名、变量名的重命名规则。 ...

    lombok-plugin-idea插件

    安装并启用Idea Lombok插件后,你可以直接在IDEA中使用这些注解,而无需担心编译错误或运行时异常。插件会自动处理编译过程中需要的Lombok依赖,使得整个开发过程更加顺畅。在项目中引入Lombok库,如Maven或Gradle,...

    IDEA lombok 插件工具

    例如,当你在 IDE 中添加了 `@Data` 注解,IDEA 会自动识别并高亮显示生成的方法,同时在编译时避免因未定义方法而引发的错误。 为了使 Lombok 正常工作,还需要在项目构建配置中加入 Lombok 的依赖。如果是 Maven ...

    IDEA lombok插件

    2. **处理过程**: Lombok在编译时动态插入这些生成的代码,因此在源代码中看不到实际的生成物,但在运行时可以正常使用。 ### IDEA Lombok插件安装与配置 1. **安装**: 在IDEA中,可以通过"File" -> "Settings" ->...

    jboss-as-web.Final-RECOMPILE.jar.rar

    总之,"jboss-as-web.Final-RECOMPILE.jar"是JBoss AS 7热部署机制的核心组成部分,它使得开发者能够在不中断服务的情况下更新Web应用,极大地提高了开发效率。理解并熟练运用这一特性,对于高效地开发和维护基于...

    idea常用快捷键.txt

    - **Compiler**: 启用自动编译项目,同时可以设置并行编译独立模块。 - **File Encodings**: 设置文件编码为 UTF-8。 - **Editor--Code Style--Java--Imports**: 设置导入的最大数量为无限。 - **Editor--General--...

    idea lombok插件

    4. `@NonNull`: 表示该字段不能为null,Lombok会自动在getter和setter中添加null检查。 5. `@Getter` 和 `@Setter`: 分别用于生成getter和setter方法,可以指定访问级别,如`@Getter(AccessLevel.PRIVATE)`。 6. `...

    .class文件反编译工具

    5. **IntelliJ IDEA** 和 **Eclipse** 等集成开发环境(IDE)也内置了反编译功能,可以通过它们来查看库的源码,即使没有源码包。 使用这些工具时,我们需要了解一些基本概念: - **字节码**:Java程序被编译成...

    javaee-final-homework.zip

    JavaEE是一个广泛使用的服务器端开发框架,用于构建企业级应用。在这个"javaee-final-homework.zip"项目中,我们看到的是一个基于SSM(Spring、SpringMVC、MyBatis)和JSP的水果订单管理系统的实现。SSM是Java后端...

    IDEA KeyMap中文版

    IntelliJ IDEA 是一款非常流行的 Java 开发工具,由 JetBrains 公司开发。它提供了强大的功能来提高开发效率,其中包括了丰富的快捷键设置(KeyMap),使开发者可以更快地完成各种操作。本文将详细介绍 IntelliJ ...

    idea快捷键中文版PDF(可打印)

    IntelliJ IDEA是一款非常强大的Java集成开发环境,由JetBrains公司开发。它提供了丰富的快捷键功能,极大地提高了开发效率。以下是一些常见的 IntelliJ IDEA 快捷键及其用途: 1. **导航** - `Ctrl + N`:打开类...

    ideaIU-2020.1.3的lombok版本

    它通过提供一系列注解,如`@Data`、`@Getter`、`@Setter`等,可以在编译时自动生成对应的字段访问方法,从而提高代码的可读性和简洁性。Lombok的工作原理是在构建过程中利用Java的注解处理器(Annotation Processor...

    JEECMS v3.0.2 源码包jeecms_v3.0.2_final_src.zip

    1. **集成开发环境(IDE)**: 开发JEECMS源码通常需要像IntelliJ IDEA或Eclipse这样的Java IDE,用于代码编写、编译和调试。 2. **构建工具**: Maven或Gradle可能被用来管理项目的依赖和构建过程,自动化构建和部署...

    Projet3-final:五个开发团队

    他们也可能使用如Eclipse、IntelliJ IDEA这样的集成开发环境(IDE)进行编码工作,同时利用Git进行版本控制。 【压缩包子文件的文件名称列表】:"Projet3-final-master" 这个文件名暗示这是一个项目仓库的主分支,...

    lombok-plugin-0.27-2019.1.zip

    在使用Lombok插件时,开发者需要注意的是,IDEA需要配合Lombok的jar包一起运行,才能在编译时自动生成相关代码。因此,项目中需要添加Lombok依赖,并确保编译器支持注解处理。 在文件列表中的`lombok-plugin`可能指...

    最新scala 2.9.1 final包

    8. **IDE集成**:Scala 2.9.1 final可能会加强与IntelliJ IDEA、Eclipse等主流IDE的集成,提供更好的代码补全、调试和重构支持。 9. **社区支持和文档**:随着新版本的发布,官方文档会同步更新,以指导开发者如何...

    java class加密保护(完全免费) v2.1

    但这样会带来很多麻烦,而且也不能真正保护class文件, 本工具是对class文件进行加密,采用jni的方式解密运行, 加密算法达到256位,加密后的class文件不可能被破解,反编译工具也对加密后的class文件无能为力。 ...

    netty-netty-4.1.27.Final:netty-netty-4.1.27.Final netty 4.1.27.Final

    3,编译之后,idea引入开发工具。 可以执行如下指令:mvn idea:idea -DskipTests -Dcheckstyle.skip = true或mvn eclipse:eclipse -DskipTests -Dcheckstyle.skip = true 错误:Java:编译失败:内部Java编译器...

    Java中的Enum的使用与分析

    - **不可变性**:一旦定义了枚举类型,就不能添加新的元素。 - **类型安全性**:只能将枚举类型的变量设置为定义时声明的元素之一。 - **自动实现`Enum`接口**:每个枚举类型都隐式地继承自`java.lang.Enum`类。 - *...

    软件工程Java程序设计期中测验题-2021年秋学期1

    再者,Java 有自动内存管理机制,通过垃圾回收器(Garbage Collector)自动回收不再使用的对象,减少了程序员处理内存泄漏的困扰。此外,Java 还具有丰富的类库和强大的网络支持,使得开发Web应用和分布式系统变得...

Global site tag (gtag.js) - Google Analytics