0-0 前言

最近和同事做爬虫,其中我主要遇到的问题是:同事在github上放了爬虫demo让我自己去下载,然后自己能搭好环境让整个项目跑起来去抓51job找工作数据。git上克隆一个项目下来,项目是通过maven管理各种插件jar包,我自己摸索搭环境跑起来。

(1)网页内容爬取用python2.7来做,爬取主要用的库有:beautifulsoup4-4.5.1,lxml-3.6.0,stomp.py-4.1.9;均可去官网下载后解压,在解压目录运行steup.py文件即可。

(2)消息队列中间件用apache-activemq-5.9.1,下载后解压运行bin\win64\activemq.bat,开启一个消息队列mq

(3)其中java处理部分用Intellij IDEA IDE,导入后发现各个依赖均没有自动下载。Intellij iDEA IDE怎么导入maven工程,选择file——open——projectName,打开项目,发现各种依赖包都没有,需要我一个一个的去找再下载,然后放在本地自己安装的maven项目里面,依赖的包太多,根本找不过来,只能重新想办法。

用到的技巧是:导入一个maven项目到 IntellijIDAE2016.2,关键的一点是选择open——》pom.xml,会自动下载和导入依赖包文件,而不用手动去一个一个的找。超级方便。如果选项目名称导入的话需要配置pom.xml

0. 引言

今天想跟大家分享一下我主要的 Java 开发工具,我一般是这样工作的:用 IDEA 写代码,用 Maven 管理 jar 包依赖与项目打包,用 Git 进行代码版本控制。

关于这三款工具的安装与配置的过程,本文不作说明,有不太明白的朋友,可以给我留言,我会尽力解答。

下面以开发 Smart 应用为例,描述一下这三款工具的具体使用方法。

1. 使用 Git 下载源码

首先,在你的磁盘里找个单独的文件夹来存放 Smart 的所有项目源码,例如:D:\Project\smart,以下称为“工作目录”。

然后,分别通过 git clone 命令下载 Smart Framework 与 Smart Sample 的源码到本地磁盘上。下载地址如下:

  1. Smart Framwork:http://git.oschina.net/huangyong/smart-framework
  2. Smart Sample:http://git.oschina.net/huangyong/smart-sample
  3. Smart Cache:http://git.oschina.net/huangyong/smart-plugin-cache

例如:使用 git clone http://git.oschina.net/huangyong/smart-framework 命令,下载 Smart Framework 项目源码。

执行完以上三条 git clone 命令后,你的工作目录中应该会看到这三个子目录:smart-framework、smart-sample、smart-plugin-cache。

2. 编写 Maven 项目配置文件

此时,你可以在工作目录里(也就是在以上三个项目目录的同级)编写一个 Maven 项目配置文件(作为根配置文件),同样需要命名为 pom.xml,用它来组织这三个项目。代码如下:

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>smart</groupId>
<artifactId>smart</artifactId>
<version>1.0</version>
<packaging>pom</packaging> <modules>
<module>smart-framework</module>
<module>smart-sample</module>
<module>smart-plugin-cache</module>
</modules> </project>

3. 使用 IDEA 直接打开 Maven 项目

打开你的 IDEA,选择 Open Project,此时会弹出一个对话框:

在地址栏中定位到你的工作目录(可以手工编写路径或直接粘贴路径),选择 pom.xml,随后 IDEA 将自动创建一个基于 Maven 项目。

注意:在 IDEA 的向导界面中一定要选择是 Open Project,而不要选择 Create New Project。也可以使用 Import Project 导入 Maven 项目,但没有直接 Open Project 来得痛快。

弹指之间,项目已创建完毕!

4. 编译源码

先编译一下吧,可以在工具栏中点击这个按钮:

你也可使用快捷键 Ctrl + F9,显摆一下你的专业。

随后,IDEA 将编译整个项目源码,一般情况下是没有任何消息的,因为没有消息就是好消息。

此外,你还可使用 Maven 进行编译。在 IDEA 中点击右侧的 Maven Projects 选项卡,可看到如下界面:

注意:上图中 smart (root) 表示 Maven 的根配置,也就是你刚才手工编写的那个 pom.xml,由它来管理所有其他的 Maven 项目。

可双击一下 compile 节点,随后 IDEA 会调用 Maven 进行编译。这样你就不需要在 cmd 里手工输入 Maven 命令了,当然其他的命令你也是可以双击运行。

5. 在 IDEA 中配置 Tomcat

注意:建议使用 Tomcat 7.0+

在 IDEA 中配置 Tomcat,只需进行一下几个步骤:

首先,点击工具栏中的下拉框,然后点击下拉菜单中的 Edit Configurations 菜单项。

点击后将弹出一个对话框,你可点击左上角的“+”按钮,新建一个 Local 的 Tomcat Server。

然后,可对 Tomcat 进行命名,默认是 Unnamed,可修改为 Tomcat。此外,若你不想让 IDEA 自动打开浏览器,去掉 Start browser 复选框即可,我一般都是这么干的。

随后,部署一个项目,需要切换到上图中的 Deployment 选项卡中,进行简单的配置。

操作步骤:点击“+”按钮 -> 点击 Artifacts... -> 选择 smart-sample:war exploded -> 修改 Application context 为“/smart-sample”。

最后,建议你切换回 Server 选项卡,在 On frame deactivation 下拉框下选择 Update resources。

这样做是为了当你切换出 IDEA 后,可自动更新资源(包括:HTML、CSS、JS、JSP 等),如需要自动编译的话,可使用第三个选项。

注意:IDEA 12.1.6(最新版)中有一个 Bug,第二项也进行了自动编译,在之前的版本中是不存在的,不知道下个版本会不会解决这个问题,不过此问题不会影响你使用。

点击 OK 按钮完成 Tomcat 的所有配置,现在可在工具栏中看见 Tomcat 图标了。

提示:在运行之前,你必须手工创建数据库。比如,Smart Sample 的数据库脚本就在 smart-sample 的 doc 目录下。

6. 以 Debug 方式运行应用程序

你只需点一下工具栏中的 Debug 按钮,即可以 Debug 方式运行 Smart Sample 了。

建议:在开发过程中尽量使用 Debug 方式运行,这样你可以随时在 IDEA 中打断点进行调试。此外,需要说明的是,IDEA 的调试功能非常强大,而且非常好用!

7. 在 IDEA 中对 Git 进行提交与更新

在工具栏中也包括了 Git 的常用操作,操作非常方便。

以上图标分别表示:更新代码、提交代码、查看差异、查看历史、撤销更改。

此外,你还可以点击最下方的 Changes 选项卡,用来查看本地变更(Local)与提交日志(Log)。

你可以选择某个版本来查看具体提交的文件内容,还可以同时选择多个版本一起查看,还有很多实用的功能。

8. 总结

IDEA 是一款非常优秀的 Java 集成开发环境,用法非常简单,上手也非常快。它对主流技术与工具都有相应的插件支持,你可以自定义插件列表,把对于自己无用的插件禁用掉。

Maven 是一款非常优秀的项目构建工具,有了它之后,你无需在每个项目中管理一大堆的 jar 包了,此外,它还非常有助于对项目进行打包(打 jar/war 包),当然它的功能绝不仅仅如此。

Git 是一款非常优秀的代码版本控制系统,它可以有效地实现多人异地办公,此外,你可以提交代码到本地仓库中,然后一次性提交到远程仓库。

以上三款工具的结合,会大大提高 Java 程序员的战斗能力!在此,强烈推荐大家使用!

使用 IDEA + Maven + Git 快速开发 JAVA或者Web 应用(转)的更多相关文章

  1. 用 NetBeans 快速开发 Java JAX-RS RESTful 服务

    有很多IDE可以开发Java RESTful服务,Eclipse.NetBeans等,个人偏好使用NetBeans,本文介绍使用NetBeans开发的入门步骤. <理解RESTful架构> ...

  2. Salesforce中通过SOAP API和Metadata API开发java的web server服务

    1.下载Salesforce平台中WSDL文件 在Salesforce中创建了自己需要用到的对象后,我们想要在别的应用中读写纪录到对象中,首先需要的是自己Salesforce平台的权限通过.登陆自己的 ...

  3. Wechat4j之Hello world——使用wechat4j快速开发java版微信公众号

    Wechat4j是一个开源的java微信开发框架,是目前最简单易用的java微信开发框架. 项目地址:https://github.com/sword-org/wechat4j Wechat4j.ja ...

  4. springboot快速开发(简单web)

    这是一个springboot基础配置文件介绍的demo.只涉及到 控制层与前端的简单交互,用于验证代码的畅通. spring-boot  pom.xml解释 <?xml version=&quo ...

  5. AAuto 快速开发win32小程序

    AAuto编程语言 AAuto是专用于桌面软件快速开发的新一代混合型编程语言 -  具有动态语言轻便.灵活.快速开发的特性,而且又可以同时支持静态类型开发,象静态语言那样使用.AAuto可以直接支持原 ...

  6. Web API应用架构在Winform混合框架中的应用(4)--利用代码生成工具快速开发整套应用

    前面几篇介绍了Web API的基础信息,以及如何基于混合框架的方式在WInform界面里面整合了Web API的接入方式,虽然我们看似调用过程比较复杂,但是基于整个框架的支持和考虑,我们提供了代码生成 ...

  7. 如何有效快速提高Java服务端开发人员的技术水平?

    我相信很多工作了3-5年的开发人员都会经常问自己几个问题: 1.为什么总是感觉技术没有质的提高? 2.如何能够有效和快速的提高自身的技术水平? 3.如何进入到一个牛逼的大公司,认识牛逼的人? 这篇文章 ...

  8. JEECG 3.7.1 版本发布,企业级JAVA快速开发平台

    JEECG 3.7.1 版本发布,企业级JAVA快速开发平台 ---------------------------------------- Version:  Jeecg_3.7.1项 目:   ...

  9. Java快速开发平台,JEECG 3.7.6性能增强版本发布

    JEECG 3.7.6 性能增强版本发布 导读       ⊙Vue SPA单页面应用 ⊙Datagrid标签实现不同风格切换,支持BootstrapTable.EasyUI ⊙灵活通用代码生成器工厂 ...

随机推荐

  1. Oracle 11g default profile 默认启用密码过期180天 ORA-28001错误处理

    问题描述:客户反映客户端不能登录应用程序时不能连接.环境:AIX 5.3 + Oracle 11gR2解决:远程Telnet到数据库主机,sqlplus / as sysdba 连接后操作正常,表明数 ...

  2. rtc关机闹钟2 Alarm manager

    public void set(int type, long triggerAtMillis, long windowMillis, long intervalMillis, PendingInten ...

  3. Android ADB 用法

    adb  全称是 Android Debug Bridge, 就是起到调试桥的作用. 用来操作android设备的 阅读目录 adb 有什么用 借助adb工具, 我们可以管理设备或手机模拟器的状态,  ...

  4. composer 一些使用说明

    1 使用订制的包 配置 "repositories": [ { "type": "path", "url": " ...

  5. 新手要想学好Linux系统就必须做好这四件事情

    一般情况下,大部分人接触Linux的机会并不多,对Linux平台下的开发更是一无所知.而现在的发展趋势却越来越表明:无论是作为一个优秀的软件开发人员,或是互联网.IT行业的从业人员,掌握Linux是一 ...

  6. 【 2013 Multi-University Training Contest 6 】

    HDU 4655 Cut Pieces 假设n个数构成的总数都分成了n段,总数是n*a1*a2*...*an.但是答案显然不会那么多. 对于相邻的两个ai,ai+1,如果选择相同的颜色,那么就减少了a ...

  7. Ubuntu安装node

    #!/bin/bash echo "添加环境变量需要root权限,如无root权限,则不添加环境变量" echo "输入Node下载地址(目前仅支持Node官方网站上Li ...

  8. 一、Python 简介

    There should be one -- and preferably only one -- obvious way to do it. 一种解释型,面向对象的.带有动态语义的高级程序设计语言. ...

  9. POJ 3294 二分找超过一半字符串中存在的子串

    题目大意: 给定n个字符串,求出现在不小于k/2个字符串中的最长子串. 二分找对应子串长度的答案,将所有字符串链接成一个长字符串求后缀数组,记录每一个位置本属于第几个字符串,利用height查询的时候 ...

  10. Linux 内核常见宏定义

    我们在阅读Linux内核是,常见到这些宏 __init, __initdata, __initfunc(), asmlinkage, ENTRY(), FASTCALL()等等.它们定义在 /incl ...