Util
一、IDEA(2019.2.3)
1.快速编码
1.1 快捷键(Keymap)
| Effect | 作用 | IDEA |
|---|---|---|
| Reformat code | 格式化 | Ctrl+Alt+L(注意QQ快捷键冲突) |
| Replace implicit conversion action | 小灯泡 | Alt+Enter |
| Start New Line | 快速换行 | Shift+Enter |
| Duplicate Line Or Selection | 快速复制 | Ctrl+D |
| Delete Line | 快速删除 | Ctrl+Y |
| Move Statement Down/Up | 方法、代码下移 | Ctrl+Shift+down/up |
| Undo | 撤销 | Ctrl+Z |
| Redo | 反撤销 | Ctrl+Shift+Z |
| Find.../Replace | 查找/替换 | Ctrl+F/R |
| Move Caret To Previous/Next Word | 智能调整光标 | Ctrl+left/right |
| Move Caret To Previous/Next Word With Selection | 智能调整光标并选中 | Ctrl+Shift+left/right |
| Surround With | 选中代码块生成包围代码 | Ctrl+Alt+T |
| Variable... | 自动生成变量声明 | Ctrl+Alt+V |
| Generate... | 生成... | Alt+Insert/Generate |
| Type Hierarchy | 继承关系 | Ctrl+H |
| Class Name Completion | 自动补全 | Ctrl+Alt+Space |
| SmartType | 智能提示 | Ctrl+Shift+Space |
1.2 快捷输入(Live Templates/Postfix Completion)
| Live Templates | 分类 | 作用 |
|---|---|---|
| main | Groovy | 生成main方法 |
| sout/souf/soutv | Groovy | 输出至控制台 |
| foreach | Android | 遍历序列 |
| Postfix Completion | 适用语言 | 作用 |
|---|---|---|
| .var+Tab | java/scala | 声明变量 |
| .sout/.souf/.soutv | java | 输出至控制台 |
| (seq).iter+Tab | java | 遍历序列 |
| 选中变量+Alt+Enter+Type Annotation | scala | 显示声明变量类型 |
| .prtln/.sout | scala | 输出至控制台 |
| (seq).for+Tab | scala | 遍历序列 |
2.IDEA的使用
2.1 目录的展开、折叠
- 目录的一级展开:鼠标双击或键盘右箭头
- 目录的完全展开(Fully Expand Tree Node):选中待展开目录+键盘*键
- 目录的一级折叠:鼠标双击或键盘左箭头
- 目录的完全折叠(Collapse Tree Node):选中待折叠目录+键盘-键
2.2 External Tools
2.2.1 javap -c
2.2.2 javap -verbose
2.3 鼠标悬停提示
Settings->Editor->General->Show quick documentation on mouse move
2.4 Git插件的使用
2.5 Mysql插件的使用
2.6 Tomcat插件的使用
2.6.1 热部署
2.7 Maven配置
2.7.1 setting/Build/Build Tools/Maven
2.7.2 setting/Build/Build Tools/Maven/Runner
配置不联网时使用本地已下载的插件创建Maven项目
VM Options中添加参数 -DarchetTypeCatalog=internal
2.8 控制台信息过多
方法1
https://logging.apache.org/log4j/2.x/manual/configuration.html#
将log4j2.xml放入resources目录
方法2
System.err.println("使用map算子:"+s);
方法3
resources目录新建log4j.properties
#Global logging configuration
log4j.rootLogger=WARN, stdout
#Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] - %m%n
3.Maven
3.1 基本内容
-
相关信息
-
定义
- Maven 翻译为"专家"、"内行",是 Apache 下的一个纯 Java 开发的开源项目。
- Maven 是一个项目管理工具,可以对 Java 项目进行构建、依赖管理。
- Maven 也可被用于构建和管理各种项目,例如 C#,Ruby,Scala 和其他语言编写的项目。
-
Maven 能够帮助开发者完成以下工作:
- 构建
- 文档生成
- 报告
- 依赖
- SCMs
- 发布
- 分发
- 邮件列表
-
约定配置
目录 目的 $ 存放pom.xml和所有的子目录 ${basedir}/src/main/java 项目的java源代码 ${basedir}/src/main/resources 项目的资源,比如说property文件,springmvc.xml ${basedir}/src/test/java 项目的测试类,比如说Junit代码 ${basedir}/src/test/resources 测试用的资源 ${basedir}/src/main/webapp/WEB-INF web应用文件目录,web项目的信息,比如存放web.xml、本地图片、jsp视图页面 ${basedir}/target 打包输出目录 ${basedir}/target/classes 编译输出目录 ${basedir}/target/test-classes 测试编译输出目录 Test.java Maven只会自动运行符合该命名规则的测试类 ~/.m2/repository Maven默认的本地仓库目录位置 -
特点
- 项目设置遵循统一的规则。
- 任意工程中共享。
- 依赖管理包括自动更新。
- 一个庞大且不断增长的库。
- 可扩展,能够轻松编写 Java 或脚本语言的插件。
- 只需很少或不需要额外配置即可即时访问新功能。
- 基于模型的构建 ? Maven能够将任意数量的项目构建到预定义的输出类型中,如 JAR,WAR 或基于项目元数据的分发,而不需要在大多数情况下执行任何脚本。
- 项目信息的一致性站点 ? 使用与构建过程相同的元数据,Maven 能够生成一个网站或PDF,包括您要添加的任何文档,并添加到关于项目开发状态的标准报告中。
- 发布管理和发布单独的输出 ? Maven 将不需要额外的配置,就可以与源代码管理系统(如 Subversion 或 Git)集成,并可以基于某个标签管理项目的发布。它也可以将其发布到分发位置供其他项目使用。Maven 能够发布单独的输出,如 JAR,包含其他依赖和文档的归档,或者作为源代码发布。 -向后兼容性 ? 您可以很轻松的从旧版本 Maven 的多个模块移植到 Maven 3 中。
- 子项目使用父项目依赖时,正常情况子项目应该继承父项目**依赖,无需使用版本号,
- 并行构建 ? 编译的速度能普遍提高20 - 50 %。
- 更好的错误报告 ? Maven 改进了错误报告,它为您提供了 Maven wiki 页面的链接,您可以点击链接查看错误的完整描述。
3.2 what
- 项目管理工具,可实现依赖管理(jar包管理)、一键构建等功能,实现代码可重用
- Maven的java项目结构
- src/main/java 放置核心代码
- src/main/resources 放置配置文件
- src/test/java 放置测试代码
- src/test/resources 放置测试配置文件
- src/main/webapp 放置页面资源:html、css、js、图片等
- Maven的配置目录
- boot/plexus-classworlds-2.6.0.jar(maven运行需要的类加载器)
- conf/setting.xml
- bin/mvn.cmd
- lib(maven运行使用的jar包,其中提供了tomcat插件,可不安装tomcat直接部署web项目)
3.3 why
- 防止大量jar包冗余(Myeclipse只能将jar包均复制至WEB-INF/libs)、防止jar包冲突、单元测试的必要性(检验代码质量)
3.4 how
3.4.1 配置环境变量
配置 JAVA_HOME
配置 MAVEN_HOME 并配置 %MAVEN_HOME%\bin
DOS命令执行 mvn -v
3.4.2 conf/setting.xml
//1.修改Maven仓库默认路径
<localRepository>${user.home}/.m2/repository</localRepository>
->
<localRepository>D:\Coder\Apache\apache-maven-Repository</localRepository>
//2.修改远程仓库url:中央仓库->阿里云,注意jar包获取流程:本地仓库->远程仓库下载至本地->中央仓库下载至本地
<mirrors>
<mirror>
<id>mirrorId</id>
<mirrorOf>repositoryId</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://my.repository.com/repo/path</url>
</mirror>
</mirrors>
->
<mirrors>
<mirror>
<id>alimaven</id>
<!-- 把该源作为central源的代理,访问central源时即将请求发给该源 -->
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
</mirrors>
3.4.3 mvn命令
#DOS命令行
mvn -X
[DEBUG] Reading global settings from D:\Coder\Apache\apache-maven-3.6.2-bin\apache-maven-3.6.2\bin\..\conf\settings.xml
[DEBUG] Reading user settings from C:\Users\22064\.m2\settings.xml
先从自行配置的apache-maven-3.6.2\bin\..\conf\settings.xml中读取配置信息
再从用户目录的C:\Users\22064\.m2\settings.xml中读取配置信息
1.编辑maven标准项目
2.清除已编译的target目录
mvn clean
3.编译maven项目核心代码,对src/main/*的Sources Root目录内的文件编译为class文件,生成target/classes目录
mvn compile
4.编译maven项目核心代码与测试代码,对src/test/*的Test Sources Root目录内的文件编译为class文件,生成target/classes与target/test-classes目录
mvn test
5.编译maven项目核心代码与测试代码并打包,pom.xml中须配置打包格式,如<packaging>pom</packaging>、<packaging>war</packaging>
mvn package
6.编译maven项目核心代码与测试代码并打包,同时将包配置到本地仓库
mvn install
7..编译maven项目核心代码与测试代码并打包,同时将包配置到本地仓库并发布,pom.xml中须配置
mvn deploy
3.4.4 Maven项目的生命周期(后面的步骤执行时,必会执行前面的所有步骤)
- 默认生命周期:编译compile->测试test->打包package->安装install->发布deploy
- 编译
- 测试
- 打包
- 安装
- 发布
- 清理生命周期:清除项目编译信息
- 站点生命周期
3.4.5 Maven项目的概念模型(pom.xml)
- 项目对象模型:项目自身信息
- 项目依赖模型:项目依赖信息(local本地仓库->b2b远程仓库->central中央仓库)dependencies
- 组织名groupId
- 项目名artifactId
- 版本号version
- 生命周期管理:项目运行环境信息(build/plugin标签,如jdk、tomcat...)
4.Maven项目的创建
需求:
1.用IDEA创建Maven webapp项目并实现网页登录
2.将该项目打带依赖的jar包并在windows上运行
3.将该项目打带依赖的jar包并在linux上运行
4.1 IDEA
4.1.1 创建Maven项目->webapp
4.1.2 pom.xml导包
pom.xml
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.46</version>
</dependency>
4.1.3 新建Test目录(需Mark Directory as Sources Root)及HelloController类
HelloController
@WebServlet(urlPatterns = "/hello")
public class HelloController extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
PrintWriter out = resp.getWriter();
out.println("hello");
Map<String,Object> map = new HashMap<String,Object>();
map.put("a1234","aaa");
String json = JSONObject.toJSONString(map);
out.println(json);
out.flush();
out.close();
}
}
4.1.4 部署tomcat(实时更新Deployment中Artifact需添加day1_1mavenTest_war_exploded)并访问http://localhost:8080/day1_1mavenTest_war_exploded/hello
4.1.5 若idea运行tomcat控制台乱码,需Edit Custom VM Options,末尾添加-Dfile.encoding=UTF-8
4.2 windows+jar
4.2.1 打带依赖的jar包
4.2.2 放入windows中的tomcat/webapp目录
4.3 linux+jar
4.3.1 打带依赖的jar包
4.3.2 放入linux中的tomcat/webapp目录
4.4 IDEA部署Maven
4.4.1 配置Maven
4.4.2 新建java项目
4.4.3 新建web项目(使用tomcat插件)
- https://blog.csdn.net/czc9309/article/details/80304074
- https://www.cnblogs.com/cn-chy-com/p/10940129.html
<plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <configuration> <!-- 指定端口 --> <port>8080</port> <!-- 请求路径 --> <path>/m1</path> </configuration> </plugin> - 使用tomcat配置可能并没有output
index.jsp文件
5.Maven项目的导入、导出、运行
5.1 项目导入
Eclipse导入IDEA
New Project from Existing Sources...
5.2 项目jar包导入
<!--如何在maven的pom.xml中添加本地jar包-->
<dependency>
<groupId>com.yc</groupId>
<artifactId>part1_dataStructure</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
5.3 导出
5.3.1 导出(zip)
Exeport to Zip File
Export Project to Eclipse
5.3.2 导出(jar)
- 1.通过Project Structure
Project Structure->Artifacts->Add jar Empty->compile output拖动至jar包上->OK
Build -> Buile Artifacts -> jar包名
见out目录
- 2.通过Maven Tool Windows
<build>
<finalName>WordCount</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>3.0.0</version>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
</plugin>
</plugins>
</build>
LifeCycle -> 双击clean再双击package
见target目录
- 3.通过DOS打包
cd 项目路径
mvn clean package
5.3.3 导出(war)
5.3.4 运行
- 1.Windows(DOS)运行jar
...
- 2.Linux(Shell)运行jar
- 3.Windows(DOS)运行war
...
- 4.Linux(Shell)运行war
二、HbuilderX -> SublimeText
1.SublimeText
1.1 连接虚拟机
1.1.1 ftp/sftp
1.2 markdown文件预览
1.3 前端文件格式化
1.3.1 html-css-js prettify
html、css、js代码格式化插件
Ctrl+Alt+H
1.本地配置NodeJS环境
2.Ctrl+Shift+P调出命令面板
3.install->PCIC
4.HTML-CSS-JS Prettify
5.查看本地安装的NodeJS配置环境路径(在dos命令下,输入where node)
6.SublimeText新建html文件并右击,选择Set Plugin Options
7.将上述步骤5中的NodeJS本地路径保存到node_path->windows
8.右击html文件,选择Prettify Code

浙公网安备 33010602011771号