我正在尝试为即将开始的 Java 项目安装 Emacs+JDEE,但我无法让 JDEE 正常工作。我想解决的第一个问题是能够跳转到给定类名的源文件。我正在使用 Cassandra source 作为我使用 JDEE 的 Playground 。
我已经设置了一个新的 Ubuntu 12.04 VM 和 Emacs 23.3.1 作为我的测试环境。我正在使用默认 Ubuntu 存储库中的 openjdk-1.6 并且 JDEE 似乎正在使用它。我下载了 jdee tar ball 并将其解压到 ~/.emacs.d 中。 Cassandra 源代码树被 check out 到 ~/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))
关于java - 如何配置 jdee `find-class-source-file` 以使用 Cassandra 源代码树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21762513/
我正在学习如何使用Nokogiri,根据这段代码我遇到了一些问题:require'rubygems'require'mechanize'post_agent=WWW::Mechanize.newpost_page=post_agent.get('http://www.vbulletin.org/forum/showthread.php?t=230708')puts"\nabsolutepathwithtbodygivesnil"putspost_page.parser.xpath('/html/body/div/div/div/div/div/table/tbody/tr/td/div
总的来说,我对ruby还比较陌生,我正在为我正在创建的对象编写一些rspec测试用例。许多测试用例都非常基础,我只是想确保正确填充和返回值。我想知道是否有办法使用循环结构来执行此操作。不必为我要测试的每个方法都设置一个assertEquals。例如:describeitem,"TestingtheItem"doit"willhaveanullvaluetostart"doitem=Item.new#HereIcoulddotheitem.name.shouldbe_nil#thenIcoulddoitem.category.shouldbe_nilendend但我想要一些方法来使用
关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭4年前。Improvethisquestion我想在固定时间创建一系列低音和高音调的哔哔声。例如:在150毫秒时发出高音调的蜂鸣声在151毫秒时发出低音调的蜂鸣声200毫秒时发出低音调的蜂鸣声250毫秒的高音调蜂鸣声有没有办法在Ruby或Python中做到这一点?我真的不在乎输出编码是什么(.wav、.mp3、.ogg等等),但我确实想创建一个输出文件。
给定这段代码defcreate@upgrades=User.update_all(["role=?","upgraded"],:id=>params[:upgrade])redirect_toadmin_upgrades_path,:notice=>"Successfullyupgradeduser."end我如何在该操作中实际验证它们是否已保存或未重定向到适当的页面和消息? 最佳答案 在Rails3中,update_all不返回任何有意义的信息,除了已更新的记录数(这可能取决于您的DBMS是否返回该信息)。http://ar.ru
我在我的项目目录中完成了compasscreate.和compassinitrails。几个问题:我已将我的.sass文件放在public/stylesheets中。这是放置它们的正确位置吗?当我运行compasswatch时,它不会自动编译这些.sass文件。我必须手动指定文件:compasswatchpublic/stylesheets/myfile.sass等。如何让它自动运行?文件ie.css、print.css和screen.css已放在stylesheets/compiled。如何在编译后不让它们重新出现的情况下删除它们?我自己编译的.sass文件编译成compiled/t
我正在寻找执行以下操作的正确语法(在Perl、Shell或Ruby中):#variabletoaccessthedatalinesappendedasafileEND_OF_SCRIPT_MARKERrawdatastartshereanditcontinues. 最佳答案 Perl用__DATA__做这个:#!/usr/bin/perlusestrict;usewarnings;while(){print;}__DATA__Texttoprintgoeshere 关于ruby-如何将脚
如何在buildr项目中使用Ruby?我在很多不同的项目中使用过Ruby、JRuby、Java和Clojure。我目前正在使用我的标准Ruby开发一个模拟应用程序,我想尝试使用Clojure后端(我确实喜欢功能代码)以及JRubygui和测试套件。我还可以看到在未来的不同项目中使用Scala作为后端。我想我要为我的项目尝试一下buildr(http://buildr.apache.org/),但我注意到buildr似乎没有设置为在项目中使用JRuby代码本身!这看起来有点傻,因为该工具旨在统一通用的JVM语言并且是在ruby中构建的。除了将输出的jar包含在一个独特的、仅限ruby
Rackup通过Rack的默认处理程序成功运行任何Rack应用程序。例如:classRackAppdefcall(environment)['200',{'Content-Type'=>'text/html'},["Helloworld"]]endendrunRackApp.new但是当最后一行更改为使用Rack的内置CGI处理程序时,rackup给出“NoMethodErrorat/undefinedmethod`call'fornil:NilClass”:Rack::Handler::CGI.runRackApp.newRack的其他内置处理程序也提出了同样的反对意见。例如Rack
在rails源中:https://github.com/rails/rails/blob/master/activesupport/lib/active_support/lazy_load_hooks.rb可以看到以下内容@load_hooks=Hash.new{|h,k|h[k]=[]}在IRB中,它只是初始化一个空哈希。和做有什么区别@load_hooks=Hash.new 最佳答案 查看rubydocumentationforHashnew→new_hashclicktotogglesourcenew(obj)→new_has
在选择我想要运行操作的频率时,唯一的选项是“每天”、“每小时”和“每10分钟”。谢谢!我想为我的Rails3.1应用程序运行调度程序。 最佳答案 这不是一个优雅的解决方案,但您可以安排它每天运行,并在实际开始工作之前检查日期是否为当月的第一天。 关于ruby-如何每月在Heroku运行一次Scheduler插件?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8692687/