Emacs开发Java之安装

Emacs开发Java

前言

笔者把多年UBuntu上用Emacs和Maven开发Java应用(包括TestNG和Web application)的技巧总结出来,希望对有志于Linux开发的朋友有帮助。我并不反对用IDE开发,但是很多时候,Emacs能够带来更快的速度(同时对机器硬件要求也很小),对Java工程的更透彻了解,更容易和开源领域的工程师交流。我还不怎么喜欢用鼠标,Emacs让我能够解放我的右手。

安装

1.确保你已经安装了JDK
2.确保你安装了Maven
3.安装Emacs:sudo apt-get install emacs
4.下载jdee-bin-2.4.0.1.zip和依赖文件elib-1.0.zip,地址在这里:http://sourceforge.net/projects/jdee/files/
5.将两个文件解压到/opt/emacs_plugins/目录下面
6.还需要下载ecb-2.40和ecb.el,也放在emacs_plugins目录下
7.下载javadoc-help的javadoc-help.el文件放在/opt/emacs_plugins/java目录下面 http://javadochelp.sourceforge.net/

配置.emacs

配置JDEE

;;JDEE configuration
(add-to-list ‘load-path (expand-file-name "/opt/emacs_plugins/jdee-2.4.0.1/lisp"))
(load-file "/opt/emacs_plugins/cedet-1.0pre7/common/cedet.el")
(add-to-list ‘load-path (expand-file-name "/opt/emacs_plugins/elib-1.0"))
(add-to-list ‘load-path (expand-file-name "/opt/emacs_plugins/ecb-2.40"))
;;(add-to-list ‘load-path (expand-file-name "/opt/emacs_plugins/jde-jalopy"))

(load-file (expand-file-name "/opt/emacs_plugins/ecb-2.40/ecb.el"))

(require ‘font-lock)
(require ‘ecb)
(require ‘ecb-autoloads)
(require ‘jde)

(custom-set-variables
 ‘(browse-url-browser-function (quote browse-url-generic))
 ‘(browse-url-generic-program "chromium-browser")
 ‘(column-number-mode t)

 ‘(jde-complete-function (quote jde-complete-menu))
 ‘(jde-debugger (quote ("jdb")))
 ‘(jde-jdk-registry (quote (("1.6.0_35" . "/usr/jdk1.6"))))
 ‘(jde-resolve-relative-paths-p t)
 ‘(jde-run-option-debug (quote ("Server" "Socket" "javadebug" nil "5005" t))))

查看API文档

可惜的是javadoc-helper不能检索jdk文档。自己在浏览器里面保留一个书签代替吧。

;; Java document support
(add-to-list ‘load-path (expand-file-name "/opt/emacs_plugins/java"))
(require ‘javadoc-help)
(javadoc-set-predefined-urls ‘("/opt/java_docs/common-cache-1.0.0-javadoc"
                               "/opt/java_docs/commons-codec-1.4-javadoc"
                               "/opt/java_docs/commons-logging-1.1.1-javadoc"
                               "/opt/java_docs/ehcache-server-1.0.0-javadoc"
                               "/opt/java_docs/gson-1.7.1-javadoc"
                               "/opt/java_docs/jcommander-1.12-javadoc"
                               "/opt/java_docs/jersey-apache-client-1.9.1-javadoc"
                               "/opt/java_docs/jersey-client-1.9.1-javadoc"
                               "/opt/java_docs/jersey-core-1.9.1-javadoc"
                               "/opt/java_docs/joda-time-1.6.2-javadoc"
                               "/opt/java_docs/junit-4.8.2-javadoc"
                               "/opt/java_docs/logback-classic-1.0.0-javadoc"
                               "/opt/java_docs/logback-core-1.0.0-javadoc"
                               "/opt/java_docs/lombok-0.10.4-javadoc"
                               "/opt/java_docs/mongo-java-driver-2.7.2-javadoc"
                               "/opt/java_docs/mybatis-3.0.5-javadoc"
                               "/opt/java_docs/slf4j-api-1.6.4-javadoc"
                               "/opt/java_docs/snakeyaml-1.6-javadoc"
                               "/opt/java_docs/testng-6.1.1-javadoc"))

(global-set-key [(f1)]          ‘javadoc-lookup)  ; F1 to lookup
(global-set-key [(shift f1)]    ‘javadoc-help)    ; Shift-F1 to bring up menu

注意,上面的文档目录都是自己从互联网上下载的,如果使用maven构建项目,可以很方便的用一个脚本文件将文件jar包下载下来,并且复制到/opt/java_docs/目录下。

mvn clean
mvn dependency:resolve -Dclassifier=javadoc
rm -rf /opt/java_docs
mkdir /opt/java_docs
cp $(find ~/.m2/repository/ -name *javadoc.jar) /opt/java_docs/


下面这个脚本可以帮助我把所有jar文件解压到同名目录下。

#!bin/sh
path=/opt/java_docs
for f in $(ls $path/*.jar);
do
    name=`basename $f`
    name2=`echo $name | sed ‘s/\.jar//g‘`
    echo $name2
    mkdir $path/$name2
    cd $path/$name2
    jar xvf $path/$name
done

rm -f *.jar

这个脚本可以生成需要配置的目录路径,用在.emacs中。

path=/opt/java_docs
for f in $(ls $path/);
do
    name=`basename $f`

    echo \"/opt/java_docs/$name\"
done

配置工程文件

为每一个Maven工程目录里面创建一个prj.el文件。下面的是一个例子。/opt/jdk_src的jdk源代码文件是从jdk目录的src.zip解压而来。
jde-global-classpath里面列出了本项目使用的jar包。注意是绝对路径。
‘(jde-db-option-connect-socket (quote (nil "5005"))) 指的是远程调试的连接端口,后面调试一节再细讲。
‘jde-sourcepath 里面指定了源代码路径
手动配置这些东西的确有点麻烦,将来可以学点lisp编程,在Emacs里面自动产生这个文件。先凑合着用吧。

(jde-project-file-version "1.0")
(jde-set-variables
 ‘(jde-db-source-directoiries "/opt/jdk_src")
 ‘(jde-global-classpath (quote ("./target/classes"
                                "./target/test-classes"
                                "/home/chenshu/.m2/repository/joda-time/joda-time/1.6.2/joda-time-1.6.2.jar"
                                "/home/chenshu/.m2/repository/com/sun/jersey/jersey-client/1.9.1/jersey-client-1.9.1.jar"
                                "/home/chenshu/.m2/repository/org/testng/testng/6.0.1/testng-6.0.1.jar")))
 ‘(jde-db-option-connect-socket (quote (nil "5005")))
 ‘(jde-sourcepath (quote ("./src/main/java/com/freebird/business"
                          "./src/test/java/com/freebird/test"
                           ))))

Windows7 下的配置

最后附一个windows7的配置,当时整了好久,早算cedet不报错,勉强能用。

(setq debug-on-error t)
(global-set-key [f5] (lambda() (interactive) (revert-buffer t t)))
(setq c-basic-offset 4)
(show-paren-mode)

;;JDEE configuration

(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/jdee-2.4.0.1/lisp"))
(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/cedet-1.0/common"))
(load-file "c:/emacs_plugins/cedet-1.0/common/cedet.el")
(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/cedet-1.0/semantic"))
(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/cedet-1.0/eieio"))
(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/cedet-1.0/speedbar"))
(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/elib-1.0"))
(add-to-list ‘load-path (expand-file-name "c:/emacs_plugins/ecb-2.40"))
(load-file (expand-file-name "c:/emacs_plugins/ecb-2.40/ecb.el"))
(require ‘font-lock)
(require ‘ecb)
(require ‘ecb-autoloads)
(require ‘jde)

(custom-set-variables
 ‘(browse-url-browser-function (quote browse-url-generic))
 ‘(browse-url-generic-program "chromium-browser")
 ‘(column-number-mode t)
 ‘(jde-gen-buffer-boilerplate (quote (nil "////////////////////////////////////////////////////////////////////////////////
//Copyright (c) 2011-2012 Esri
// Esri (Beijing) Software Research and Development Center
//
// All rights reserved under the copyright laws of the United States.
////////////////////////////////////////////////////////////////////////////////")))
 ‘(jde-complete-function (quote jde-complete-menu))
 ‘(jde-debugger (quote ("jdb")))
 ‘(jde-db-option-connect-socket (quote (nil "9009")))
 ‘(jde-jdk-registry (quote (("1.6.0_29" . "C:/Program Files/Java/jdk1.6.0_29"))))
 ‘(jde-resolve-relative-paths-p t)
 ‘(jde-run-option-debug (quote ("Server" "Socket" "javadebug" nil "5005" t))))

(setq tab-width 4)
(setq c-basic-offset 2)

由于公司规定,里面增加了开发用的文件头的说明。

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

原文地址:https://www.cnblogs.com/skiwnywh/p/10321299.html

时间: 2024-09-08 11:53:42

Emacs开发Java之安装的相关文章

Win7 32位系统下Java开发环境的安装及配置

目录: Java JDK安装. Java JDK系统环境的配置. 配置常见问题的解决. Java JDK的安装 Java Jdk(Java Development Kit)Java开发不可缺少的环境,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/index.html,根据需求下载安装不同版本的JDK,最新Java8下载JDK8(http://download.oracle.com/otn-pub/java/jdk/8u5

②---Java开发工具Eclipse安装配置

Java开发工具Eclipse安装及配置 以下将为大家介绍Java开发工具Eclipse安装及配置. 一.下载Eclipse安装文件 正所谓工欲善其事必先利其器,我们在开发java语言过程中同样需要依款不错的开发工具,目前市场上的IDE很多,本文为大家推荐Eclipse: Eclipse(推荐):另一个免费开源的java IDE,下载地址:http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/re

mac环境下使用emacs开发scala

好多人都会问 scala 的编辑工具用啥? eclipse ? intellij ? emacs? sublime? 都可以,不说那个好,怕引起争议,多累啊,我这里只是大致介绍下emacs 中开发scala的方式. 首先介绍下基本工具,sbt,不管你是使用那个编辑工具,sbt都是需要的,就像是maven,也有人不喜欢sbt,说是慢,就喜欢用maven,我还是坚持建议用sbt, 其实一点都不慢,用下"~compile"试试. sbt的参考https://github.com/CSUG/r

我的第一个phonegap开发WebApp的demo 怎么搭建安卓开发环境以及安装phonegap

一.先来张图,赏心悦目观赏一下,哈 . 这个就是使用phonegap框架搭建起来的,运行在安卓环境上的第一个demo. 安卓的开发环境,大家都会搭建了,所以不赘述.讲一下,安装phonegap的步骤. 二.phonegap的安装   1. 设置系统变量系统变量 Path后面添加:(以下变量都是必须的,路径根据自己的设置)E:\android_sdk\sdk\tools;E:\android_sdk\sdk\platform-tools;E:\android_sdk\eclipse\plugins

使用InteIIiJ IDEA开发Java web 项目

1.介绍 IntelliJ IDEA是一款非常强大的集成开发环境,基本上可以做任何事情,它的强大大大降低了我们的工作量,提高了工作效率.那么它如何开发Java web呢?下面就为大家介绍使用IntelliJ IDEA开发Java web. 首先去官网下载安装包:http://www.jetbrains.com/idea 它有两个版本Ultimate(收费)和Community(免费),作者选择的是Ultimate 2.安装 点击下载即可,然后开始安装,一直Next就可以了,途中可以选择创建一个6

用Editplus开发Java

☆ 准备工作 ①,已安装好jdk,同时配置系统变量(3个,JAVA_HOME,PATH,CLASSPATH) ②,电脑已安装Editplus,并做好设置. ☆ Editplus配置java开发环境 对一个java程序来说,我们要对其源代码文件(.java文件)进行编译,然后会生成字节码文件(.class文件),最后在去运行字节码文件,才能看到结果,而且 这个字节码文件在任何系统下java环境都可以执行结果.为此,在Editplus中开发java程序,我们同样需要将编译和运行的两个环境配置好. ①

MinGW开发工具的安装

MinGW是Minimalist GNU for Windows的缩写,是把linux下的GNU开发工具包移植到windows的项目之一.和Cygwin不一样的是,MinGW不提供linux的posix运行系统的模拟层,而是直接使用windows的运行库,因而开发的windows的程序可以说是原生的,这样就方便了项目的移植,程序的运行效率也要比Cygwin高,而Cygwin本身很多的DLL也是使用MinGW来编译的. MinGW包含几个包: MinGW —— GCC的编译套件 MSYS —— U

微信公众平台深度开发JAVA版第二季视频教程

微信公众平台深度开发JAVA版第二季(九宝饭店微信点餐系统)视频教程下载密码:qa4a     联系QQ:1026270010 微信作为当前流行的通信社交软件有了上亿的用户量,几乎每一个只能手机都要安装微信.但是,市场上对于JAVA开发微信公众平台的资料却少之又少,多数的资料一般是其他语言的.因此,主讲老师经过潜心研究.认真准备,录制了这套针对JAVA开发语言的微信公众平台开发教程. 1.课程研发环境 开发语言:JAVA WEBServer:TOMAT DATABASE:MySQL 开发工具:m

IDEA2014开发Java程序以及中文乱码问题的解决

IDEA2014开发Java程序以及中文乱码问题的解决 我们知道IDEA是可以很强大的集成开发环境,不仅可以开发Web工程,还可以开发Java运行程序,但是在进行Java开发之前,我们需要对IDEA做一些配置工作.步骤如下: 下载IDEA2014下载地址,过期私聊我(http://pan.baidu.com/s/1jIfbtdW) 下载JDK64位机(http://download.oracle.com/otn-pub/java/jdk/8u77-b03/jdk-8u77-windows-x64