Java开发环境的设置

Java安装

安装Mac原生的Java

Mac OS X 系统安装的时候,不带Java,但是可以通过简单的方法快速安装苹果原生的Java,版本是1.6。有三种安装方式:

第一次使用java程序,比如打开eclipse的时候,系统就会自动安装Java。

命令行下,执行下面的命令:

java -version

安装新版的Java 1.7

从下列网站下载 Mac OS X 版本的JDK,文件名是jdk-7u51-macosx-x64.dmg:

http://www.oracle.com/technetwork/java/javase/downloads/index.html

设置JAVA_HOME环境变量

很多Java应用需要使用到JAVA_HOME环境变量,在Mac下,可以使用下面的方法,动态获取这个环境变量:

获取Java 1.6的JAVA_HOME:

/usr/libexec/java_home -v 1.6

获取Java 1.7的JAVA_HOME:

/usr/libexec/java_home -v 1.7

使用动态的方式设置JAVA_HOME的好处是,当自动升级了新版本的JAVA时,总能找到合适的JAVA_HOME目录。基于这个原因,程序员不要将文件安装在'/System'目录的JDK,因为Java升级的时候,文件会丢失。

也可以通过下列方法设置用户的环境变量,编辑文件'/.zshrc'或'/.bash_profile',加入下面两行之一:

对于Java 1.6:

export JAVA_HOME=`/usr/libexec/java_home -v 1.6`

export PATH=${JAVA_HOME}/bin:$PATH

对于Java 1.7:

export JAVA_HOME=`/usr/libexec/java_home -v 1.7`

export PATH=${JAVA_HOME}/bin:$PATH

扩展库(Extension Libraries)的目录位置

其他平台的Java软件使用'$JAVA_HOME/lib/ext'来存放扩展库的jar文件,Mac OS X的Java虽然也存在这一个'lib/ext'目录,你不能将jar文件存放在这个目录。'/Library/Java/Extensions'目录可以用来存放系统级别的jar文件或JNI库,'~/Library/Java/Extensions'目录用来存放用户级别的jar文件或JNI库。存放在这两个目录下的文件,不需要设置在classpath环境变量下,任何运行的java程序都可以直接使用。

安装Eclipse

手工安装

从下列地址下载Eclipse的相应版本,我一般选用'Eclipse IDE for Java EE Developers':

http://www.eclipse.org/downloads/

下载,解压文件,然后将eclipse目录拖到'Applications'目录,双击'/Applications/eclipse/'下的eclipse应用程序图标,就可以启动eclipse。

编辑文件'/.zshrc'或'/.bash_profile',加入:

export ECLIPSE_HOME=/Applications/eclipse

使用homebrew-cask安装

% brew cask alfred link

% brew cask install eclipse-ide

==> Downloading http://download.eclipse.org/technology/epp/downloads/release/kepler/SR1/e

######################################################################## 100.0%

==> Symlinking App 'Eclipse.app' to '/Users/ppyy/Applications/Eclipse.app'

==> Success! eclipse-ide installed to /opt/homebrew-cask/Caskroom/eclipse-ide/4.3.1

这里'brew cask alfred link'可以使homebrew cask安装的程序被Alfed搜索到,可以快速启动。

编辑文件'/.zshrc'或'/.bash_profile',加入:

export ECLIPSE_HOME=/opt/homebrew-cask/Caskroom/eclipse-ide/4.3.1/eclipse/

eclipse的优化

安装完毕eclipse以后,为了优化eclipse的运行,可以编辑目录'$ECLIPSE_HOME/Eclipse.app/Contents/MacOS'下的eclipse.ini文件。如果没有设置ECLIPSE_HOME变量,则在'Finder'程序下,右键点击(Ctrl+点击)Eclipse执行程序,选择'Show Package Contents',然后选择Contents目录下的MacOS目录,打开eclipse.ini文件,修改下列一些变量:

--launcher.XXMaxPermSize

2048m

...

-vmargs

...

-Xms512m

-Xmx850m

-XX:PermSize=512m

-XX:MaxPermSize=1024m

安装ant, maven, tomcat, jetty

brew install ant maven tomcat jetty

macd java_macdev/java.md at master · pubyun/macdev · GitHub相关推荐

  1. java并发框架支持锁包括,tip/面试题_并发与多线程.md at master · 171437912/tip · GitHub...

    01. java用()机制实现了进程之间的同步执行 A. 监视器 B. 虚拟机 C. 多个CPU D. 异步调用 正解: A 解析: 监视器机制即锁机制 02. 线程安全的map在JDK 1.5及其更 ...

  2. java j集合_JNotes/Java-集合篇(2)集合之List.md at master · harryjudy2240/JNotes · GitHub...

    ArrayList 存储机制 基于动态数组实现,默认长度 10 :因为数组特性,其读取速度快,增删效率慢 因为写入或读取都是通过数组索引直接操作,所以,允许为 null 值, 且可以重复 当数组大小不 ...

  3. linux at java,Linux-Tutorial/Java-bin.md at master · linsanityHuang/Linux-Tutorial · GitHub

    Java bin 目录下的工具 JVM 内存结构 运行时数据区(JVM 规范) VM 栈(JVM 虚拟机栈) 是线程私有的,它的生命周期和线程相同.它描述的是 Java 方法执行的内存模式. Java ...

  4. c await和java_blog/java/test/awaitility.zh.md at master · c-rainstorm/blog · GitHub

    ```java AtomicInteger atomic = new AtomicInteger(0); // Do some async stuff that eventually updates ...

  5. java cookbook 3_CookBook/Java核心/3-Java反射.md at master · zhgdbut/CookBook · GitHub

    #Java核心(三)反射 Java反射给我们提供了在运行时检查甚至修改应用行为的机制. 反射是java高级的核心技术,所有有经验的程序员都应该理解. 通过反射机制,我们可以在运行时检视 类.接口.枚举 ...

  6. java编程规范每行代码窄字符,wiki/0xFE_编程规范.md at master · islibra/wiki · GitHub

    0xFE_编程规范 使用UTF-8编码 使用空格缩进 命名 清晰表达意图, 少用缩写(行业通用除外, 如: request=req, response=resp, message=msg), 不应使用 ...

  7. java p=x,Java-Tutorial/20、javac和javap.md at master · allenchenx/Java-Tutorial · GitHub

    目录 title: 夯实Java基础系列20:从IDE的实现原理聊起,谈谈那些年我们用过的Java命令 date: 2019-9-20 15:56:26 # 文章生成时间,一般不改 categorie ...

  8. java 正则表达式 table_JavaEdge/Java/Java中正则表达式.md at master · VegTableBird/JavaEdge · GitHub...

    主要用到的是这两个类 - java.util.regex.Pattern - java.util.regex.Matcher. Pattern对应正则表达式,一个Pattern与一个String对象关 ...

  9. think in java第6_think-in-java/6.5 protected.md at master · quanke/think-in-java · GitHub

    6.5 protected 现在我们已理解了继承的概念,protected这个关键字最后终于有了意义.在理想情况下,private成员随时都是"私有"的,任何人不得访问.但在实际应 ...

  10. java反射 enum参数_CookBook/3-Java反射.md at master · Byron4j/CookBook · GitHub

    Java核心(三)反射 Java反射给我们提供了在运行时检查甚至修改应用行为的机制. 反射是java高级的核心技术,所有有经验的程序员都应该理解. 通过反射机制,我们可以在运行时检视 类.接口.枚举, ...

最新文章

  1. Python网络爬虫--urllib
  2. 背胶磁条、磁带初步磁场分布
  3. Java编程基础篇第二章
  4. 查看MySQL句柄_mysql查询语句-handler
  5. AssertionError: Invalid device id 和RuntimeError: CUDA error: invalid device ordinal
  6. sql双表查询java代码_原生sql 多表查询
  7. templatefield 动态_GridView动态创建templateField | 学步园
  8. 2020年前端面试之JS手写代码题合集
  9. 面试与工作差距大,程序员从准备到拿Offer全攻略
  10. Candy leetcode java
  11. VM14无法将网络更改为桥接状态:没有未桥接的主机网络适配器
  12. win10 电脑没声音 控制面板 realtek高清晰音频管理器没有解决方案
  13. [转]用python来开发webgame服务端(5)
  14. Java语言HttpClient使用代理IP
  15. Linux 打包压缩与解压解包
  16. 【愚公系列】华为云GaussDB(for Redis)的体验流程|【这次高斯不是数学家】
  17. 神经网络如何识别图像,神经网络图像识别技术
  18. dell屏幕亮度调节不了_戴尔笔记本调节亮度不见了怎么办
  19. Android模拟器中实现音、视频文件的断点播放
  20. Qt表格分页,跳转,首尾页

热门文章

  1. 多线程与并发系列之CompletableFuture
  2. Vimium插件使用方法(其实就是盗了一张图)
  3. 鲁冠球:冲向世界的打铁匠
  4. 干货|Android系统定制开发基础篇
  5. [PAL规范]SAP HANA PAL 数据处理四分位间距检测Inter-quartile Range Test编程规范IQRTEST...
  6. Activiti 设置工作代理人
  7. 有关5G技术的认知与感想
  8. Android开发之打卡功能
  9. python实现排序算法lowb三人组之冒泡排序
  10. LAV Filter 源代码分析 4: LAV Video (2)