在Emacs24下的Java环境(Cedet+Elib+JDEE+ECB)
来源:互联网 发布:淘宝电子面单平台 编辑:程序博客网 时间:2024/04/30 01:07
发现网上没有Emacs24下配置Java环境的文章,如果从Emacs23直接升级的话会出现一些问题,抽空把这些问题总结了一下,写给有需要的朋友,以节省你的时间。
在Emacs24 下安装CEDET 和 JDEE 来实现Java环境 会出现一些问题,主要是这些插件并没有和Emacs同步更新。
1. cedet-1.1
cedet :CEDET is a Collection ofEmacs Development Environment Tools 项目地址: http://cedet.sourceforge.net/
下载地址:http://sourceforge.net/projects/cedet/?source=dlp
下载完毕后,需要make一下,执行以下命令:
make
如果编译遇到问题,则执行
make clean-autoloads
make clean-all
如果遇到 makeinfo 命令未找到 的问题,请下载 sudo apt-get install texinfo 下载相应的安装包。
把下载并编译好的CEDET放到~/.emacs.d/ 下
2. elib-1.0
下载 elib-1.0 The Emacs Lisp library (elib) package. http://sourceforge.net/projects/jdee/files/jdee/Dependencies/elib.tar.gz/download
3. JDEE 2.4.0.1
下载 JDEE 2.4.0.1 下载地址 http://sourceforge.net/projects/jdee/files/jdee/2.4.0.1/
修改 jdee-2.4.0.1/lisp/jde.el 的第43行 :
由 (defconst jde-cedet-max-version "1.0" 为 (defconst jde-cedet-max-version "1.1"
同时删除 /jdee-2.4.0.1/lisp/jde.elc
这样做是因为JDEE所设置的 Emacs的最高版本并不兼容24 ,所以我们需要修改version为1.1来适应Emacs24 , 删除jde.elc 从而让emacs读取非编译的jde.el 。
4. 安装ECB-2.40 。 ECB是emacs上浏览代码的一个工具。下载地址:http://ecb.sourceforge.net/
进入ECB-2.40 的目录执行make
如果遇到 Byte-compiling ECB with LOADPATH= … 的问题,说明你make文件中的路径没有配置正确,ECB是依赖于CEDET的,这时候需要修改makefile文件,来加载正确的CEDET路径。 打开Makefile文件找到51行,修改 CEDET= 这一行,路径为你cedet1.1的路径
如果遇到 : ECB 2.40 – Error: ECB can only be used with cedet [1.0pre6, 1.0.9]! Please install it and restart Emacs! 的问题。 则请注释ecb-upgrade.el的如下代码。然后在make 重新编译ECB
;; check if vedet-version is correct(when (or (not (boundp 'cedet-version))
(ecb-package-version-list<
(ecb-package-version-str2list cedet-version)
ecb-required-cedet-version-min)
(ecb-package-version-list<
ecb-required-cedet-version-max
(ecb-package-version-str2list cedet-version))) (setq version-error (concat "cedet [" cedet-required-version-str-min
", " cedet-required-version-str-max "]")))
在 ~/.emacs 中加入
(add-to-list 'load-path "~/.emacs.d/ecb-2.40")
(require 'ecb)
5. JDK
安装JDK这个就不多说了。
6. 加入如下启动命令
在 Ubuntu 用户根目录下的.emacs 中添加如下内容,以启动JDEE ,同时避免一些致命的错误,同时在加载Java文件的时候自动装载JDEE。
;;add jdee cedet and jdee
(add-to-list 'load-path "~/.emacs.d/cedet-1.1/common")
(load-file "~/.emacs.d/cedet-1.1/common/cedet.el")
(add-to-list 'load-path "~/.emacs.d/jdee-2.4.0.1/lisp")
(add-to-list 'load-path (expand-file-name "~/.emacs.d/elib-1.0"))
(require 'jde)
;;add ecb
(add-to-list 'load-path "~/.emacs.d/ecb-2.40")
(require 'ecb)
;;we need some lisp to prevent fatal errors.
(defun screen-width nil -1)
(setq jde-check-version-flag nil)
(define-obsolete-function-alias 'make-local-hook 'ignore "21.1")
(unless (fboundp 'semantic-format-prototype-tag-java-mode)
(defalias 'semantic-format-prototype-tag-java-mode 'semantic-format-tag-prototype-java-mode))
(require 'hippie-exp)
;;we use something to load JDEE for .java files :
(add-to-list 'load-path (format "%s/lisp" "~/.emacs.d/jdee-2.4.0.1" "Path to JDEE"))
(autoload 'jde-mode "jde" "JDE mode." t)
(setq auto-mode-alist
(append '(("\\.java\\'" . jde-mode)) auto-mode-alist))
7. 重启emacs , 在上述步骤运行正常后我们需要配置JDE的运行JDK
(1) 输入M-x customize-variable ,这时候会提示你需要配置的变量,输入jde-jdk-registry
(2)出现如下图的界面。
点击INS,添加你的JDK版本和JDK的路径。
(3)点击State按钮,然后在弹出的菜单中选择Save for Future Sessions 。
(4)再次键入M-x customize-variable ,在变量选择中输入:jde-jdk ,进入如下界面,选择你要的JDK,然后点击State选择Save for Future Sessions 。
(5) 完成以上的步骤之后,JDE会自动在你的.emacs文件中加入相应的配置。
(6) 重启Emacs24 , 就能正常运行JDE了 。
遇到问题请新浪微博 @最牛傻蛋 。
- 在Emacs24下的Java环境(Cedet+Elib+JDEE+ECB)
- 在Emacs24下的Java环境(Cedet+Elib+JDEE+ECB)
- Emacs24.3下配置Java开发环境 Cedet+Elib+JDEE+ECB
- Emacs24+cedet+ecb+jdee配置时出现的若干问题
- emacs的java编程环境设置(jdee,lib,cedet,ecb
- GNU Emacs下设置Java编程环境(JDEE)
- Emacs搭建开发环境(ECB+Cedet)
- 用emacs 建立开发环境,安装ecb和cedet的全过程
- 用emacs 建立开发环境,安装ecb和cedet的全过程
- Emacs安装CEDET与JDEE
- Emacs、cedet、ecb
- Emacs + ECB + CygWin + Cedet
- 程序员的emacs配置大全(cedet+ecb+cscope+gdb-ui)
- 修改ecb 2.4对于cedet 1.0的依赖
- emacs24在windows下的home目录设置
- 为Emacs安装Cedet+Ecb
- emacs 安装 CEDET ECB 笔记
- emacs 安装cedet和ecb
- ExitProcess与TerminateProcess函数
- 求最大连续子向量和-编程珠玑
- 笔记之Servlet的Request对象(获取请求参数的方法、表单格式、防盗链、请求重定向)
- JAVA 静态代理和动态代理
- ubuntu 10.04下的配置tftp服务器
- 在Emacs24下的Java环境(Cedet+Elib+JDEE+ECB)
- android 手机上传下载(adb)
- 笔记之中文乱码问题
- 关于菜鸟学习memset()函数
- ajax的原理和运行机制
- 云存储成本分析指南
- ONVIF 客户端简单实现Discovery,实现设备搜索.
- 修改 相对于apache 的 php.ini 的路径
- TileMap用法二