2014-12-12

Idea 介绍

目录

  • 下载 idea
  • 下载 Jdk
  • 配置 Java 环境
  • 下载 tomcat
  • 导入一个 Maven 项目
  • 参考文献

Idea 是一个非常强大的 IDE. 要比古老的 Eclipse 先进很多. 特别是在 Mac 下面的表现, 一些大一点儿的项目 Eclipse 都很难启动整个项目, 而 idea 则表现的很不错. 本文从导入一个 maven 项目说起, 如何在 Mac 下配置一个基于 Idea 的 java 开发环境.

下载 idea

官方提供了两个版本, Community 和 Ultimate. Community 是免费的, 但是功能受限. Ultimate 功能全, 可以免费使用 30 天. 但是也不用担心. 你可以使用万能的 Google 搜索到一堆序列号, 直接使用即可. 下载 Ultimate 版本安装即可.

下载 jdk

Mac 下开发 Java 需要到 Apple 官网下载 Jdk. 下载后直接安装, 你可以会看到这样的目录结构. 目前 apple 官网提供的时 1.6 版本的 jdk

$ll /Library/Java/
total 8
drwxr-xr-x  2 root  wheel    68B Jul 15 05:52 Extensions
lrwxr-xr-x  1 root  wheel    48B Aug  1 10:55 Home -> /System/Library/Frameworks/JavaVM.framework/Home
drwxr-xr-x  4 root  wheel   136B Aug  2 09:16 JavaVirtualMachines

配置 Java 环境

如果你曾经配置过在其他 *nix 系统中配置过 Java 的环境, 你可以看到过类似如下的环境变量配置方法

export JAVA_HOME=jdk-install-dir
export PATH=$JAVA_HOME/bin:$PATH

在 Mac 下你不用这么做. Mac 下有一个命令可以直接获取 Java 路径(如果你的系统中没有, 请自行安装). 在 Mac 下你可以在 ~/.bashrc(如果没有就创建)末尾添加如下一行.

export JAVA_HOME=$(/usr/libexec/java_home)

如果你安装了多个 jdk 版本, 那么你最好指定一个 版本号. 所以建议使用下面这个环境变量配置方法

export JAVA_HOME=$(/usr/libexec/java_home -v 1.6)  # 1.6 版本号, 你可以指定 1.8 版本

然后执行一下 source ~/.bashrc 命令. 你的 Java 环境就配置好了. 现在执行一下 java 命令你会看到这种输出, 说明 java 环境已经 OK

$java -version
java version "1.6.0_65"
Java(TM) SE Runtime Environment (build 1.6.0_65-b14-468-11M4828a)
Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-468, mixed mode)

下载 tomcat

请自行下载和安装 tomcat

导入一个 Maven 项目

本节分两步个过程导入一个 maven 项目: 1. 导入工程 2. 配置 tomcat

导入项目

  • 打开 idea , 如果原来到如果其他项目, 请先关闭所有其他项目. 然后选择 Import Project 图1

  • 选择项目路径 通过浏览功能选择项目所在目录, 然后 ok 进入下一步 图2

  • 选择环境 默认就是 maven, 直接 Next 图3

  • 设置项目和编译配置 保持默认, 直接 Next 图4

  • select Profile 保持默认, 直接 Next 图5

  • Select Maven Project to import 直接 Next

  • 设置 Project name , 可以保持不变, 直接 Finish. 如果修改了项目名称请注意, 项目路径也有可能边改, 修改完名称请把路径改成正确的目录路径

  • 导入成功, 扫描项目. 导入成功, 等待 idea 扫描完项目.

配置 tomcat

  • 如下图所示, 点开箭头, 选择 Edit Configuration

  • 点击 + 图标, 添加一项配置

  • 选择 Tomcat > Loca Server 之后如图所示.

  • 上一步的图种可以看到此时有一个 Warning. 点击 Fix, 选择 xxx:war exploded, 此时进入 Deployment 标签页, 如下图所示

  • 进入 Server 标签页, 在 VM Option 项中输入 -server -Xms2048m -Xmx2048m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+UseCompressedOops 这个配置项的作用是重新定义 VM 可以占用的内存容量. VM 默认使用的内存比较小, 一些大项目可能无法正常启动. 所以要自定义

  • 点击 OK, 完成 Tomcat 的配置

  • 在右侧点开 Maven 标签页, 点击刷新图标, 刷新 Maven 依赖包

  • 如果你的项目使用了自定义的 maven 配置, 那么你还需要配置一下 maven 的配置文件路径. 本项目使用 maven 2.xx 版本, 所以配置文件保存在 .m2 中, 如下所示 settings.xml 就是 m2 的配置文件

$ll ~/.m2/
total 56
drwxr-xr-x  3 qiulin  staff   102B Aug  1 17:36 repository
-rw-------@ 1 qiulin  staff    11K Jun 10 17:20 settings.xml

打开 全局 setting 配置, 搜索 maven. 如下所示配置 maven 版本和配置文件

  • 如果项目的数据库配置到代码的 bean 目录中

  • Maven 更新完以后, 可以在右上角点击 Debug 按钮, 启动程序进行调试

  • 项目启动以后, 可以做左下角看到, 关闭程序或者清空日志等控制

  • 更多 Idea 本身的使用, 请参见官方文档

运行 Test 遇到错误

重新安装 jdk 解决

/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home/bin/java -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:53496,suspend=y,server=n -ea -javaagent:/Users/
......
Connected to the target VM, address: '127.0.0.1:53496', transport: 'socket'
Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter
	at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
	at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
	at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
Disconnected from the target VM, address: '127.0.0.1:53496', transport: 'socket'

Process finished with exit code 1

参考文献