Java 如何配置jdee`find class source file`以使用Cassandra源代码树?

Java 如何配置jdee`find class source file`以使用Cassandra源代码树?,java,emacs,jdee,Java,Emacs,Jdee,我正试图为我即将开始的Java项目设置Emacs+JDEE,但我在让JDEE正常工作方面遇到了困难。我想解决的第一个问题是能够跳转到给定类名的源文件。我将源代码用作与JDEE一起工作的平台 我已经用Emacs 23.3.1作为我的测试环境安装了一个新的Ubuntu12.04虚拟机。我正在使用默认Ubuntu存储库中的openjdk-1.6,JDEE似乎正在使用它。我下载了jdee tar ball并将其解压缩到~/.emacs.d中。Cassandra源代码树正在签出到~/Cassandra。M

我正试图为我即将开始的Java项目设置Emacs+JDEE,但我在让JDEE正常工作方面遇到了困难。我想解决的第一个问题是能够跳转到给定类名的源文件。我将源代码用作与JDEE一起工作的平台

我已经用Emacs 23.3.1作为我的测试环境安装了一个新的Ubuntu12.04虚拟机。我正在使用默认Ubuntu存储库中的
openjdk-1.6
,JDEE似乎正在使用它。我下载了jdee tar ball并将其解压缩到
~/.emacs.d
中。Cassandra源代码树正在签出到
~/Cassandra
。My
~/.emacs.d/init.el
由以下部分组成:

(setq jde-sourcepath '("~/cassandra/src/java"))
(add-to-list 'load-path "~/.emacs.d/jdee-2.4.1/lisp")
(load "jde")
当我打开
~/cassandra/src/java/org/apache/cassandra/db/ColumnFamily.java
时,我希望能够跳转到类
org.apache.cassandra.config.CFMetaData
。当我在该类名上的点上运行
jde open class时,我得到以下错误:

Cannot determine the class of "CFMetaData".
如果我跑的话也一样

(jde-find-class-source "org.apache.cassandra.config.CFMetaData")
我得到这个错误:

jde-read-class: No match for CFMetaData

我需要做什么才能让JDEE找到源文件?

我不确定到底是什么错了,但根据文档,
jde open class at point
首先在
jde sourcepath
中搜索源文件,然后在
jde global classpath
中,然后在
$classpath
中,然后在当前目录中搜索。所以也许你需要设置这些变量

我在这里发布了我的jdee设置,希望它能有所帮助:(它对我很有用)

.emacs

(add-to-list 'load-path "~/.emacs.d/plugins/jdee-2.4.1/lisp")
(autoload 'jde-mode "jde" "JDE mode" t)
(setq auto-mode-alist
      (append '(("\\.java\\'" . jde-mode)) auto-mode-alist))
我对每个项目使用
prj.el

prj.el

(jde-project-file-version "1.0")
(jde-set-variables
 '(jde-jdk-registry (quote (("1.6" . "/usr/java/jdk1.7.0_51"))))
 '(jde-jdk (quote ("1.6")))
 '(jde-xref-db-base-directory "./xrefdb")
 '(jde-xref-store-prefixes (quote ("")))
 '(jde-build-function (quote jde-ant-build))
 '(jde-ant-enable-find t)
 '(jde-sourcepath (quote ("./src")))
 '(jde-built-class-path (quote ("./bin")))
 '(jde-global-classpath (quote ("./bin" "./src" "./lib")))
 '(jde-electric-return-p t)
 '(jde-enable-abbrev-mode t))