描述
上一篇(一个六年经验的python后端是怎么学习用java写API的(2)Extracter,微信文章抓取清洗入库)物料准备完成后,就可以正式进入java的学习了。
开始正式开发前,我需要搭建开发环境,顺手的开发环境不仅提高开发效率还能改善心情。
首先描述之前个人在用的 python 的开发环境:
- pc两台,macbook pro + 高配windows台式机一台
- 局域网内使用 synerg 一套键盘鼠标,操作两台不同系统的pc
- mac 内用 vagrant + virtual + 一个ubuntu的box,做linux的虚拟机
- windows 通过 xshell 配置 ssh 链接到 mac,然后 vagrant ssh到虚拟机内写python
- ide 为 vim,这是我通过 janus 微改自用的 vim 插件版本
为什么用两台机器?
- mac为14年款,东西开多了会明显卡顿
- 方便,可以一台开代理,一台不开,浏览内外(例如google)网的速度都不受影响
- 台式接大屏显示器,可视代码更广
- 高配置台式机可以开 qq、微信、网易云音乐、迅雷、大量chrome等即耗内存的东西
- 核心开发环境全在mac,方便移动办公
那么我对java开发环境的需求
- 两台机器开发 mac + windows
- 数据库等存储类放到 mac 上,方便移动办公
- 代码可以主要在windows上写(屏幕大),而且用vim的方式
得益于 java 的跨平台特性,代码放在windows和mac上执行都没问题,代码同步使用git或者ide的文件同步命令都可以,数据库可以直接通过环境变量链接局域网内的mac数据库。只要两台机器对应配置好即可
最终的ide选择
windows
- intellij idea
- windows git
- jdk 8
mac
- intellij idea
- git
- jdk 8
ide 配置
直接下载安装的
- windows git
- jdk 8,windows + mac 双份,注意需要注册oracle账号,需要梯子
- intellij idea 非社区版, windows + mac 双份
配置 intellij idea(windows和mac基本相同)
- 打开app后选择创建一个项目(gradle项目),或者直接导入 parrot (提前clone到某个目录)
- 配置jdk 8,左上角 file --> Project Structure, 找到SDKs,点击加号选择jdk8的安装目录,点击右下方apply按钮;然后点击Project,找到Project SDK,选择1.8,点击应用
- 配置构建工具的jdk8,file --> settings,找到build里面的gradle 的 gradle jvm 和 maven importing里面的 JDK FOR importer 都改成jdk 8
- 配置run的jdk,Run --> Edit Configurations, Template里面找到Application, 右上角有个 Create configuration。
Main class对应选择入口类
Program arguments输入 server config/environment.yml (对应项目的环境变量文件)
Working directory选择工作目录
环境变量参考config/environment.yml与自己数据库的具体配置添加具体环境变量
Use classpath or module,选择主入口java类的包名最顶级所在文件夹
jre 选 1.8
- 安装 vim 插件,file-->settings 找到 Plugins,搜索vim安装想装的插件
windows项目的变化自动同步到mac(不用git的情况),为什么要这么做?有时候有事儿需要带着mac出门,而mac和windows代码其实是割裂的,我对git又有比较强的一些个人习惯,用git实时同步不可取。设置自动同步会将windows修改的文件实时变更到mac上,这样即使着急出去代码也是同步的。当然最后还是要用git做同步。
- 文档,file-->settings-->Deployment 点击加号,创建一个mac,选择sftp,将局域网的host和链接ssh的配置对应添加,ssh成功后 Root path选则mac的代码目录。
- mappers需要映射windows的目录和mac的目录地址,注意mac部分是相对路径,需要添加哪些ide有提示,如果不全的话会有warning
- 在Deployment下面的config里面 找到 Upload change files automatically那一行,我是用的主动保存才同步scp到mac。
启动项目
- 安装依赖,与python的pip类似,java可以用maven来管理依赖。 首先打开 build.gradle 文件,将maven的url改为国内源,这么repositories这段大概是说依赖包通过项目的libs和maven的这两个源去下载; dependencies 就是依赖的包,格式看起来是 group:报名:版本,如果是直接放在项目libs目录的直接写文件名即可。回到idea在右侧找到gradle,点开在项目点右键,找到Reimport Gradle Project去下载依赖。
repositories {
flatDir {
dirs 'libs'
}
maven{ url 'http://maven.aliyun.com/nexus/content/groups/public/' }
maven{ url 'http://maven.aliyun.com/nexus/content/repositories/jcenter'}
}
dependencies {
compile 'org.slf4j:slf4j-api:1.7.13'
compile name: 'mybatis-jackson-0.4.2'
}
- 启动项目,上一段配置jdk的时候讲过如果配置run的config了,所以默认这里是配置好的,配置好后就可以用过run或者debug的方式执行项目了。
- 如果编译有包找不到检查下这里是不是 main 被包含了两次导致依赖库无法导入
开放 mac 的某个端口给windows用
例如用了某种数据库,需要开发1234这个端口给windows用,执行下面的操作后,在idea的database栏目添加配置查看是否连接成功。
sudo vim /etc/pf.conf
# Open port 1234 for TCP on all interfaces
pass in proto tcp from any to any port 1234
# You can limit the ip addresses .. replace any with allowed addresses ..
sudo pfctl -f /etc/pf.conf
重启电脑
接下来
todo: 一个六年经验的python后端是怎么学习用java写API的(4) RestAPI,dropwizard 的第一组API
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。