看到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吧。。。
相关推荐
1. 下载并导入classfinal项目:从GitHub或其他源获取classfinal的源代码,将其导入到IDE(如IntelliJ IDEA或Eclipse)中。 2. 配置混淆规则:根据项目需求,配置混淆策略,比如类名、方法名、变量名的重命名规则。 ...
安装并启用Idea Lombok插件后,你可以直接在IDEA中使用这些注解,而无需担心编译错误或运行时异常。插件会自动处理编译过程中需要的Lombok依赖,使得整个开发过程更加顺畅。在项目中引入Lombok库,如Maven或Gradle,...
例如,当你在 IDE 中添加了 `@Data` 注解,IDEA 会自动识别并高亮显示生成的方法,同时在编译时避免因未定义方法而引发的错误。 为了使 Lombok 正常工作,还需要在项目构建配置中加入 Lombok 的依赖。如果是 Maven ...
2. **处理过程**: Lombok在编译时动态插入这些生成的代码,因此在源代码中看不到实际的生成物,但在运行时可以正常使用。 ### IDEA Lombok插件安装与配置 1. **安装**: 在IDEA中,可以通过"File" -> "Settings" ->...
在使用Spring Boot进行项目开发时,我们经常会遇到模块化的需求,即一个大型项目被拆分成多个子模块来提高可维护性和灵活性。这些子模块可能通过Maven或其他构建工具互相依赖。然而,在某些情况下,可能会遇到主项目...
总之,"jboss-as-web.Final-RECOMPILE.jar"是JBoss AS 7热部署机制的核心组成部分,它使得开发者能够在不中断服务的情况下更新Web应用,极大地提高了开发效率。理解并熟练运用这一特性,对于高效地开发和维护基于...
- **Compiler**: 启用自动编译项目,同时可以设置并行编译独立模块。 - **File Encodings**: 设置文件编码为 UTF-8。 - **Editor--Code Style--Java--Imports**: 设置导入的最大数量为无限。 - **Editor--General--...
4. `@NonNull`: 表示该字段不能为null,Lombok会自动在getter和setter中添加null检查。 5. `@Getter` 和 `@Setter`: 分别用于生成getter和setter方法,可以指定访问级别,如`@Getter(AccessLevel.PRIVATE)`。 6. `...
5. **IntelliJ IDEA** 和 **Eclipse** 等集成开发环境(IDE)也内置了反编译功能,可以通过它们来查看库的源码,即使没有源码包。 使用这些工具时,我们需要了解一些基本概念: - **字节码**:Java程序被编译成...
JavaEE是一个广泛使用的服务器端开发框架,用于构建企业级应用。在这个"javaee-final-homework.zip"项目中,我们看到的是一个基于SSM(Spring、SpringMVC、MyBatis)和JSP的水果订单管理系统的实现。SSM是Java后端...
IntelliJ IDEA 是一款非常流行的 Java 开发工具,由 JetBrains 公司开发。它提供了强大的功能来提高开发效率,其中包括了丰富的快捷键设置(KeyMap),使开发者可以更快地完成各种操作。本文将详细介绍 IntelliJ ...
IntelliJ IDEA是一款非常强大的Java集成开发环境,由JetBrains公司开发。它提供了丰富的快捷键功能,极大地提高了开发效率。以下是一些常见的 IntelliJ IDEA 快捷键及其用途: 1. **导航** - `Ctrl + N`:打开类...
它通过提供一系列注解,如`@Data`、`@Getter`、`@Setter`等,可以在编译时自动生成对应的字段访问方法,从而提高代码的可读性和简洁性。Lombok的工作原理是在构建过程中利用Java的注解处理器(Annotation Processor...
1. **集成开发环境(IDE)**: 开发JEECMS源码通常需要像IntelliJ IDEA或Eclipse这样的Java IDE,用于代码编写、编译和调试。 2. **构建工具**: Maven或Gradle可能被用来管理项目的依赖和构建过程,自动化构建和部署...
他们也可能使用如Eclipse、IntelliJ IDEA这样的集成开发环境(IDE)进行编码工作,同时利用Git进行版本控制。 【压缩包子文件的文件名称列表】:"Projet3-final-master" 这个文件名暗示这是一个项目仓库的主分支,...
在使用Lombok插件时,开发者需要注意的是,IDEA需要配合Lombok的jar包一起运行,才能在编译时自动生成相关代码。因此,项目中需要添加Lombok依赖,并确保编译器支持注解处理。 在文件列表中的`lombok-plugin`可能指...
8. **IDE集成**:Scala 2.9.1 final可能会加强与IntelliJ IDEA、Eclipse等主流IDE的集成,提供更好的代码补全、调试和重构支持。 9. **社区支持和文档**:随着新版本的发布,官方文档会同步更新,以指导开发者如何...
但这样会带来很多麻烦,而且也不能真正保护class文件, 本工具是对class文件进行加密,采用jni的方式解密运行, 加密算法达到256位,加密后的class文件不可能被破解,反编译工具也对加密后的class文件无能为力。 ...
3,编译之后,idea引入开发工具。 可以执行如下指令:mvn idea:idea -DskipTests -Dcheckstyle.skip = true或mvn eclipse:eclipse -DskipTests -Dcheckstyle.skip = true 错误:Java:编译失败:内部Java编译器...
- **不可变性**:一旦定义了枚举类型,就不能添加新的元素。 - **类型安全性**:只能将枚举类型的变量设置为定义时声明的元素之一。 - **自动实现`Enum`接口**:每个枚举类型都隐式地继承自`java.lang.Enum`类。 - *...