博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在Emacs24下的Java环境(Cedet+Elib+JDEE+ECB)
阅读量:5979 次
发布时间:2019-06-20

本文共 3289 字,大约阅读时间需要 10 分钟。

 发现网上没有Emacs24下配置Java环境的文章,如果从Emacs23直接升级的话会出现一些问题,抽空把这些问题总结了一下,写给有需要的朋友,以节省你的时间。

在Emacs24  下安装CEDET 和  JDEE 来实现Java环境  会出现一些问题,主要是这些插件并没有和Emacs同步更新。

1. cedet-1.1

cedet  :CEDET is a Collection of Emacs 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了 。

遇到问题请新浪微博 @最牛傻蛋  。

转载地址:http://lxaox.baihongyu.com/

你可能感兴趣的文章
JavaScript:Array 对象
查看>>
PDFCreator:一款免费,开源的PDF(Tiff,pcx,png,jpeg,bmp,PS,EPS)打印机(VB,GPL),并提供了COM接口,方便使用各种编程语言调用...
查看>>
Note 1773479 - SYB: Displaying multiple triggers per object
查看>>
联手云计算核心技术开发,BoCloud与中科院软件所战略合作
查看>>
2017年背景下的SSD选购技巧有哪些变化?
查看>>
2016年的数据存储和管理的成本将何去何从?
查看>>
Airpods 并非无用,而是苹果借助语音交互布局物联网的新“棋子”
查看>>
项目总结:数据迁移测试
查看>>
你有足够的勇气改变不良的数据习惯吗?
查看>>
SQL中存储过程的创建和使用
查看>>
荷兰政府:保证不强制在任何产品中留有后门
查看>>
编写单元测试的10条理由
查看>>
LINUX-SAMBA服务配置
查看>>
图像处理------光束效果
查看>>
剑指offer 面试题6:重建二叉树
查看>>
智能合约从入门到精通:Solidity语法之内存变量的布局和状态变量的存储模型...
查看>>
基于ES5`defineProperty` 实现简单的 Mvvm框架
查看>>
关于UI设计的一些工作了解
查看>>
spring cloud构建互联网分布式微服务云平台-Spring Cloud Config环境库
查看>>
java B2B2C Springcloud仿淘宝电子商城系统-Zipkin服务端配置
查看>>