Intellij IDEA
在目前来说应该是开发Groovy/Grails应用效率最高的一个IDE,虽然也有些很讨厌的小BUG,但比起目前的 Eclipse ,确切的说是Springsource Tool Suite 2.5.1(STS) 来说,IDEA 在代码智能提示和对Grails的支持深度上高出很多.也不知道这个SpringSource是怎么搞的,自家的东西(Grails所在的G2One被SpringSource收购,后者又被VMWare收购),做出来还不及一个捷克的IDE产品,STS在Groovy/Grails的集成开发上还有很远的路要走啊,虽然比起前些年的有很大进步。
不过,要说的是,虽然 IDEA 目前在Groovy/Grails 的开发环境要好,在一般的 Grails 开发是可能没什么,但在比较大的应用,特别是多工程的开发中存在问题,或者说是我的无知导致的问题。下面一一记录,帮助我也帮助跟我一样,想用Grails做点东西同行了,希望能看到 Grails 在国内有一个更好的社区环境,两年前有过关注,两年过去了,现在的Grails比起以前来,有了很大的进步,同时在基于开发的效率来说,Grails是当仁不让的 Java版 的ROR,这是我再次考虑用它的两个主因。
题外话说完了,下面进入正题,下面是我目前用 Intellij IDEA 在开发 Grails 的多工程时,遇到一个问题记录及解决方法,这里说的多工程是指比如 一个 Domain 的Grails 插件项目,一个Services 的 Grails 插件项目,一个 TagLib 的 Grails 插件项目,最后由一个 Grails 主项目引用前三者,同时,Services 项目也引用了 Domain项目:
1.在控制台输入: grails create-app mainApp
2.cd mainApp
3.创建子目录 plugins 。不过,也可以在mainApp的同级目录下创建子插件项目
4.用同样的命令“ grails create-app xx ”在 plugins 目录下创建三个子插件项目 Domain、Services、TagLib
5.编辑 mainApp/application.properties,加入项目要用的其他第三方插件
6.编辑 mainApp/grails-app/conf/BuildConfig.groovy,添加如下内容:
grails.plugin.location.'domain' = 'plugins/domain'
grails.plugin.location.'services' = 'plugins/services'
grails.plugin.location.'tagib' = 'plugins/taglib'
如果子插件项目与mainApp项目在同级目录,请将 ‘plugins/domain’ 替换为 '../domain'
7.编辑 services/grails-app/conf/BuildConfig.groovy , 添加它引用的domain插件位置
grails.plugin.location.'domain' = '../domain'
8.在各项目中的 xx//application.properties 的文件中加入要依赖的第三方插件
9.进入到mainApp项目的主目录,在控制台输入: grails run-app 启动一下该主项目,如果上面的操作正确,应该可以在 http://localhost:8080/mainApp 下看到可爱的Grails应用的初始页面。不做这一步的关键是,在后面的Intellij项目的Project Settings -> mainApp-grailsPlugins -> Modules -> Sources 中不会自动加载那些被引用的第三方插件项目,及domain,services,taglib项目,而第三方项目的源码必须在 run-app 后,才会在系统的 .grails/1.3.6/projects
/icescrum/plugins 目录中生成,并被后面生成的 Intellij 项目自动在 mainApp-grailsPlugins -> Modules ->Sources 中自动被引用。
10.依旧用控制台在mainApp的主目录下输入:grails integrate-with --intellij ,让 grails 为 mainApp项目 自动生成
Intellij IDEA 项目。
11.启动 Intellij IDEA 程序,在 File > Open Project 中定位到 mainApp 目录,如果用的是Intellij 10的话,会提示是否要转换旧项目,点击是后它将自动构建该项目,并自动生成各子插件的子项目,该过程将持续一会后自动完成,点Grails View 视图即可看到各项目的情况。
12.最好在生成后关闭一下项目再打开。
13.如果在项目中依然发现有比如 services 插件项目无法找到 domain 插件项目的类的情况,对于此类情况,通常需要在
File > Project Settings -> Modules 找到 servieces 项目,将 Dependcies 列表框中的 domain项用右侧的 Move UP 移到前面,同时删除 Modules 中的 mainApp-grailsPluings项,否则在保存时会提示“在同一项目下两个模块不能共用同一根”的提示,如果再次打开该项目时还需要每次这样做一下,这应该是目录 IDEA 10.0.1的一个Grails开发的BUG了。
14.点击 Intellij 的 Run > Edit Configurations > Grails 将 Before launch 面板中的 “Make” 默认的勾选设置为未选中。
15.如果在调试或启动过程中提示堆空间不够,请在 Run > Edit Configurations > Grails 的 “VM Parameters” 中增加 “-XX:MaxPermSize=1024m -Xmx1024M -server”
16.我发现 Grails 项目的 Project Settings 更改是无效的,就算你更改了它也会自动恢复的,它可能是按 Grails 项目的相关配置信息自动配置的。要更改你必须得手动更改项目的application.properties文件、BuildConfig.groovy等信息才可以。
以上是我遇到的问题即解决步骤和方法。特别说明,开发环境 MacOS 10.6(JDK 6_22) + Intellij IDEA Ultimate 10.0.1 + Groovy 1.7.5 + Grails1.3.6。
在使用 Intellij IDEA 开发 Grails 应用中有以下几点体会:
1.从 Eclipse 转到 Intellij 上非常不适应,很多东西老是潜意识去对号。快捷键也完全不一样,不过感觉 IDEA 的快捷键更短,更易记.
2.IntelliJ 在 Grails 的开发上确实比 SpringSource 的 STS 上更胜一筹,智能程度上非常高,这也是IDEA的优势所在了。
3.Intellij 在 Grails 开发上还有 BUG,比较头疼。
分享到:
相关推荐
IntelliJ IDEA是一款由JetBrains公司开发的Java集成开发环境,以其高效、智能的代码补全、重构...通过不断学习和实践,开发者可以更深入地利用IntelliJ IDEA,解决开发过程中遇到的各种问题,实现高质量的软件开发。
IntelliJ Idea开发工具详细使用文档 IntelliJ IDEA是一款功能强大且灵活的集成开发环境(IDE),由 JetBrains 公司开发。它支持多种编程语言,包括 Java、Groovy、Kotlin、Scala 等。下面是 IntelliJ IDEA 的详细...
本文档“IntelliJ IDEA插件开发基础(中文)”将指导开发者如何利用其开放的API和插件系统来扩展IDE的功能。 首先,插件开发的基础在于理解IntelliJ IDEA的架构。IDE是基于插件构建的,每个功能模块都是一个独立的...
IntelliJ IDEA是一款由JetBrains公司开发的Java集成开发环境(IDE),广泛应用于Java开发。本教程主要介绍IntelliJ IDEA的安装与配置、基本使用方法、常见问题解决技巧、以及与Maven、Git、Tomcat等工具的集成。 ...
### IntelliJ IDEA 开发工具知识点详解 #### 一、JetBrains IntelliJ IDEA 9.0.4 介绍 **产品概述:** ...此外,了解这些基础操作也有助于开发者更好地利用 IntelliJ IDEA 提升开发效率和代码质量。
文档的第一部分介绍了在不同操作系统(Windows、Ubuntu、Mac)上安装IntelliJ IDEA的步骤和注意事项。它还总结了安装环境的常见问题和解决方法,例如安装后生成的目录结构说明以及虚拟机(VM)设置。对于新用户而言...
IntelliJ IDEA是一款为Java开发者设计的集成开发环境(IDE),由JetBrains公司开发。自2013年起,IntelliJ IDEA就与...通过这些步骤,开发者可以更好地利用IntelliJ IDEA的优势,提升Android应用开发的效率和质量。
IntelliJ IDEA插件开发手册 IntelliJ IDEA插件开发手册 IntelliJ IDEA插件开发手册
5. **多语言支持**:除了Java,还支持Web开发(HTML、CSS、JavaScript)、Python、PHP等,以及Android应用开发。 6. **插件系统**:IntelliJ IDEA拥有丰富的插件库,通过安装插件可以扩展其功能,满足不同开发者的...
总之,IntelliJ IDEA的插件开发涉及多个层面,从理解其API到实现特定功能,再到测试和发布,每一个环节都需要细致的规划和实践。通过学习和掌握这些知识点,开发者可以创造出丰富多样的插件,进一步优化个人或团队的...
Tomcat 是一个开源的Web应用服务器,广泛应用于企业级的Web应用开发中。本文将指导用户如何在 IntelliJ IDEA 中配置 Tomcat 服务器,以便更好地开发和测试 Web 应用程序。 一、下载和解压 Tomcat 7 在配置 Tomcat ...
IntelliJ IDEA是一款深受开发者喜爱的Java集成开发环境(IDE),尤其在Java、Groovy、Scala等语言的开发中表现出色。本教程将详细介绍IntelliJ IDEA的安装过程及基本配置,帮助初学者快速上手。 一、安装步骤 1. ...
IntelliJ IDEA 使用教程从入门到上瘾(2019 图文版) 本资源主要介绍了 IntelliJ IDEA 的使用教程,从基础到高级,涵盖了从设置工作空间到配置 Maven 等多个方面的知识点。 1. IDEA VS Eclipse 核心术语比较 在...
- **Flex文档与资源**:为了更好地理解Flex的应用开发过程和相关技术细节,建议查阅Adobe官方提供的Flex文档和资源,这些资料可以在[Adobe Flex文档中心](http://www.adobe.com/support/documentation/en/flex/)找到...
IntelliJ IDEA是一款广受欢迎的Java集成开发环境(IDE),由JetBrains公司开发。它以其高效、智能的代码补全、重构工具以及丰富的插件生态而著名。在2019年,IntelliJ IDEA发布了版本2019.1.3,这个版本在前一版的...