[英]How can I configure jdee `find-class-source-file` to work with Cassandra source tree?
我正在嘗試為即將開始的Java項目設置Emacs + JDEE,但是我無法讓JDEE正常工作。 我想要解決的第一個問題是能夠跳轉到給定類名的源文件。 我正在使用Cassandra源作為我與JDEE合作的游樂場。
我用Emacs 23.3.1設置了一個新的Ubuntu 12.04虛擬機作為我的測試環境。 我在默認的Ubuntu存儲庫中使用openjdk-1.6
,JDEE似乎正在使用它。 我下載了jdee tar球並將其解壓縮到~/.emacs.d
。 Cassandra源代碼樹結帳到~/cassandra
。 我的~/.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-at-point
時,我收到以下錯誤:
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))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.