Install JDEE in emac


Install JDEE in emacs

Table of Contents

  • 1 JDEE Introduction
  • 2 Some Troubles Met during Instillation
  • 3 I have a word to say

1 JDEE Introduction

I want to configure my java develop an environment of my emacs. And It seems that JDEE is a recommended option. Some one even uses JDEE as full features of IDE for java, that's sounds exciting right. So I decide to use JDEE. According to emacs wiki's advise, I use the latest source code from svn repository, But I met some trouble in the installation. The following section will figure out the solution.

2 Some Troubles Met during Instillation

  • compile JDEE   
     
    # Download JDEE from svn first
    # use the source code in the main trunk
    svn co https://jdee.svn.sourceforge.net/svnroot/jdee jdee
    

    Then use ant to compile the source code, I met the error prompted by:
     
    ## Could not load definitions from resource net/sf/antcontrib/antlib.xml
    

    That's because of lack of ant-contrib package, So I install this package. Then I can compile the source code by ant, The target object located in dist directory after that.

  • Symbol's function definition is void: eieio–defgeneric-init-form. 
  •  This is another error I met when I edit a java source code after install jdee. eieio–defgeneric-init-form is a function name from cedet-1.0 package which is build in an emacs-24.1 release. But I use cedet-1.1 as a replacement of its former version. The reason of this error located in the former step, I compile jdee source code by ant, and ant compile lisp code by invoking the native emacs without loaded my personal customization. In another word, I compile the jdee with eieio-1.0 package, while I load jdee with the eieio-1.1 package. The solution is to recompile the jdee lisp part after start emacs normally with the command "C-u 0 M-x byte-recompile-directory"
     
  • void-function eieio-build-class-alist 
  •  I met this error when I edit java source code, It's a problem related to eieio again obviously which is part of cedet and target to provide object-oriented programming framework for elisp. So I search the eieio package and find the definition located in 'eieio-opt.el'. So I just need to load this function's definition into emacs. 
    (require 'eieio-opt)
    
    Add this line into your init.el

3 I have a word to say

I believe this trouble comes from the so slowly release period of Gnu emacs and JDEE package. If emacs release Its 25.xx version with new cedet-1.1 build in and If JDEE release its new version with its new features, I believe I can avoid this tortures. According to Eric Raymond's famous article – "The Cathedral and the Bazaar", open source software should use The Bazaar mode, that's means we should speed up the release period to reduce the bugs and build an active community.

Comments

Popular posts from this blog

Bluedroid stack in android

How to setup a NAT server?

Network programming in elisp