macd java_macdev/java.md at master · pubyun/macdev · GitHub
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相关推荐
- java并发框架支持锁包括,tip/面试题_并发与多线程.md at master · 171437912/tip · GitHub...
01. java用()机制实现了进程之间的同步执行 A. 监视器 B. 虚拟机 C. 多个CPU D. 异步调用 正解: A 解析: 监视器机制即锁机制 02. 线程安全的map在JDK 1.5及其更 ...
- java j集合_JNotes/Java-集合篇(2)集合之List.md at master · harryjudy2240/JNotes · GitHub...
ArrayList 存储机制 基于动态数组实现,默认长度 10 :因为数组特性,其读取速度快,增删效率慢 因为写入或读取都是通过数组索引直接操作,所以,允许为 null 值, 且可以重复 当数组大小不 ...
- linux at java,Linux-Tutorial/Java-bin.md at master · linsanityHuang/Linux-Tutorial · GitHub
Java bin 目录下的工具 JVM 内存结构 运行时数据区(JVM 规范) VM 栈(JVM 虚拟机栈) 是线程私有的,它的生命周期和线程相同.它描述的是 Java 方法执行的内存模式. Java ...
- 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 ...
- java cookbook 3_CookBook/Java核心/3-Java反射.md at master · zhgdbut/CookBook · GitHub
#Java核心(三)反射 Java反射给我们提供了在运行时检查甚至修改应用行为的机制. 反射是java高级的核心技术,所有有经验的程序员都应该理解. 通过反射机制,我们可以在运行时检视 类.接口.枚举 ...
- java编程规范每行代码窄字符,wiki/0xFE_编程规范.md at master · islibra/wiki · GitHub
0xFE_编程规范 使用UTF-8编码 使用空格缩进 命名 清晰表达意图, 少用缩写(行业通用除外, 如: request=req, response=resp, message=msg), 不应使用 ...
- 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 ...
- java 正则表达式 table_JavaEdge/Java/Java中正则表达式.md at master · VegTableBird/JavaEdge · GitHub...
主要用到的是这两个类 - java.util.regex.Pattern - java.util.regex.Matcher. Pattern对应正则表达式,一个Pattern与一个String对象关 ...
- think in java第6_think-in-java/6.5 protected.md at master · quanke/think-in-java · GitHub
6.5 protected 现在我们已理解了继承的概念,protected这个关键字最后终于有了意义.在理想情况下,private成员随时都是"私有"的,任何人不得访问.但在实际应 ...
- java反射 enum参数_CookBook/3-Java反射.md at master · Byron4j/CookBook · GitHub
Java核心(三)反射 Java反射给我们提供了在运行时检查甚至修改应用行为的机制. 反射是java高级的核心技术,所有有经验的程序员都应该理解. 通过反射机制,我们可以在运行时检视 类.接口.枚举, ...
最新文章
- Python网络爬虫--urllib
- 背胶磁条、磁带初步磁场分布
- Java编程基础篇第二章
- 查看MySQL句柄_mysql查询语句-handler
- AssertionError: Invalid device id 和RuntimeError: CUDA error: invalid device ordinal
- sql双表查询java代码_原生sql 多表查询
- templatefield 动态_GridView动态创建templateField | 学步园
- 2020年前端面试之JS手写代码题合集
- 面试与工作差距大,程序员从准备到拿Offer全攻略
- Candy leetcode java
- VM14无法将网络更改为桥接状态:没有未桥接的主机网络适配器
- win10 电脑没声音 控制面板 realtek高清晰音频管理器没有解决方案
- [转]用python来开发webgame服务端(5)
- Java语言HttpClient使用代理IP
- Linux 打包压缩与解压解包
- 【愚公系列】华为云GaussDB(for Redis)的体验流程|【这次高斯不是数学家】
- 神经网络如何识别图像,神经网络图像识别技术
- dell屏幕亮度调节不了_戴尔笔记本调节亮度不见了怎么办
- Android模拟器中实现音、视频文件的断点播放
- Qt表格分页,跳转,首尾页