IDEA-VM配置

  • idea64.exe.vmoptions

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    -server
    -Xms1g
    -Xmx2g
    -XX:NewRatio=3
    -Xss16m
    -XX:+UseConcMarkSweepGC
    -XX:+CMSParallelRemarkEnabled
    -XX:ConcGCThreads=4
    -XX:ReservedCodeCacheSize=240m
    -XX:+AlwaysPreTouch
    -XX:+TieredCompilation
    -XX:+UseCompressedOops
    -XX:SoftRefLRUPolicyMSPerMB=50
    -Dsun.io.useCanonCaches=false
    -Djava.net.preferIPv4Stack=true
    -Djsse.enableSNIExtension=false
    -ea

.gitignore模板

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
# Created by .ignore support plugin (hsz.mobi)
### Maven template
target/
pom.xml.tag
pom.xml.releaseBackup
pom.xml.versionsBackup
pom.xml.next
release.properties
dependency-reduced-pom.xml
buildNumber.properties
.mvn/timing.properties

.idea/

## File-based project format:
*.iws
*.iml
*.ipr

## Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties
fabric.properties

Maven相关

创建Maven项目

  • 创建项目:

项目转换成Maven项目

  • 如果有一个非maven的项目想转换成maven管理的项目,只需如下操作即可:在项目上右键,添加框架支持

  • 选择maven与其它想添加的框架

  • 选择允许自动导入

  • 这样就成功转换成了一个maven项目

创建web Maven项目

  • 上面是一种创建普通maven项目的办法
  1. 创建一个project,选择maven项目,指定骨架,这里选择的是一个webapp,当然webapp骨架有非常多,这里选择apache提供的。

  2. 填写项目的座标,公司编号(一般倒置域名),项目名称,版本:

  3. 因为IDEA内置了Maven,可以选择默认内置的Maven;当然最好是选择自己安装并配置好的环境,让所有的IDE统一,这里可以点绿色的小加号添加参数

  4. 选择项目名称,位置,一般默认,点击Finish项目就创建完成了,如下图所示:

maven项目结构设置

  • maven有一个很重要的功能是规范项目,标准的项目结构如下所示:

  • 但是你会发现默认创建的项并非是完整的,如写源代码的目录没有,当前项目结构如下:

  • 添加相应的目录,选择打开项目结构:

    • 蓝色:源代码绿色:测试资源文件(配置信息)测试资源文件被排除的(打包里被忽视)目标位置右键添加目录:

    • 添加后的目录结构如下:

Maven的配置

配置文件setting.xml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<?xml version="1.0" encoding="UTF-8"?>
<settings>
<!--需要改成自己的maven的本地仓库地址-->
<!--<localRepository>D:\Tools\java\maven\repository</localRepository>-->
<mirrors>
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
</mirrors>
<profiles>
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>

<pluginRepositories>
<pluginRepository>
<id>nexus</id>
<name>local private nexus</name>
<url>http://maven.oschina.net/content/groups/public/</url>
<releases>
<enabled>true</enabled>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
</pluginRepository>
</pluginRepositories>
</profile></profiles>
</settings>

Maven工具栏

工具栏介绍

  • 工具栏如下:

  • 图标:从左到右

    1. 重新导入所有的maven项目,刷新图标

    2. 重新生成所有源代码并更新文件夹图标

    3. 下载源码或文件图标

    4. 添加一个外部的Maven项目图标

    5. 执行选择的指令图标

    6. 执行自定义的指令

    7. 切换离线模式图标

    8. 切换成跳过测试模式图标

    9. 显示依赖结构图

    10. 折叠所有图标

    11. Maven设置

快捷执行Maven命令

  • 选择命令后右键run

  • 创建命令,可反复使用并指定名称与参数

  • 定义细节

  • 执行

Web项目

配置Tomcat

  • 点击右上角下拉框,选择Edit Configurations,编辑配置

  • 添加tomcat的配置

  • 配置tocat服务器,命名,选择tomcat版本,等想配置的信息;最关键的是需要将项目部署出去,可以直接击fix

  • 选择war explored

  • 当然也可以手动选择要部署出去的项目,特别是有多个项目的情况

  • 配置项目结构,特别是要注意依赖的包需要部署到WEB-INF的lib目录下

  • 完成后可以启动tomcat服务器,当然可以直接使用插件让项目部署到jetty中通过maven运行,不需tomcat。效果如下:

war和war exploded的区别

  • 是选择war还是war exploded 这里首先看一下他们两个的区别:

    • war模式这种可以称之为是发布模式,看名字也知道,这是先打成war包,再发布;
    • war exploded模式是直接把文件夹、jsp页面 、classes等等移到Tomcat 部署文件夹里面,进行加载部署。因此这种方式支持热部署,一般在开发的时候也是用这种方式。
  • 在平时开发的时候,使用热部署的话,应该对Tomcat进行相应的设置,这样的话修改的jsp界面什么的东西才可以及时的显示出来。

  • 两种方式得部署方式是不一样的,在获取项目的路径的时候得到的结果是不一样的

    String contextPath = request.getSession().getServletContext().getRealPath("/");

不能添加Servlet的解决方法

  • 打开项目描述文件,指定源代码目录:

    1
    2
    3
    <sourceRoots>
    <root url="file://$MODULE_DIR$/src/main/java" />
    </sourceRoots>
  • 修改方法:

    • 这样就可以了:

  • 如果没有添加tomcat的配置信息或没有servet的核心包也可能出现该问题,建议修改pom加上:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <!-- JSTL -->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>jstl</artifactId>
    <version>1.2</version>
    </dependency>

    <!-- Servlet核心包 -->
    <dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.0.1</version>
    <scope>provided</scope>
    </dependency>

    <!--JSP -->
    <dependency>
    <groupId>javax.servlet.jsp</groupId>
    <artifactId>jsp-api</artifactId>
    <version>2.1</version>
    <scope>provided</scope>
    </dependency>

spring web项目

  1. 新建一个maven工程

  2. 修改pom.xml,修改打包方式为war

    1
    <packaging>war</packaging>
  3. 打开项目结构,在main目录下生成webapp目录

  4. 创建web.xml

    删除已经存在的,新建web.xml,注意位置

  5. 点击编辑配置,进行Tomcat配置

  6. 添加本地Tomcat,设置tomcat的路径

  7. 此时界面下面会有警告:Warning:No artifacts configured,这时就必须要配置Atrifacts(构件)了

  8. 选择Deployment(部署)选项卡,添加xxx.war(exploded,是有时候发现没有Artifact这个属性

  9. 打开项目结构,打开Atrifacts(构件),选择”+” 号-> “web Application:Exploded” -> from Modules -> 选择自己的项目,->点击Apply,点击OK

  10. 回到 Tomcat 的配置下的部署选项卡。添加构件。

  11. tomcat跑项目不需要打项目名字,修改Application Context的路径为 “/”

  12. 测试,在webapp 下创建index.jsp.启动tomcat访问。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
    <html>
    <head>
    <title>Title</title>
    </head>
    <body>

    </body>
    </html>
  13. 访问 http://localhost:8080/ ,成功访问表示配置成功。

springboot配置无提示

  • 启动多个模块后,新建的模块中配置文件无提示,表现在配置文件的图标不是叶子

项目打jar包

  1. 编译当前文件

  2. 选择IDEA的菜单【File】->【Project Structure】,点击【Artifacts】,然后点击加号+,点击【JAR】->【Empty】

  3. 填写好jar name, 添加好对应的资源文件(编译好的class文件,这里有二个class文件)

  4. 先创建好与包名对应的文件目录结构(目录结构不一致可能导致后续使用jar文件时报class not found exception)

  5. 点击【Create Manifest】选择当前的工程,然后点击【OK】按钮

  6. 在【Main Class】中输入主类名称然后点击【OK】按钮,如下图

  1. 点击菜单上的【Build】->【Build Artifacts】 ,点击mapjoin-> Rebuild如下图

  2. IDEA会在把打成的jar 生成到out/artifacts/

  3. MANIFEST.MF格式如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    Manifest-Version: 1.0
    Main-Class: com.youge.api.Hello


    拓展知识:

    文件定义了与扩展和包相关的数据。单词“manifest”的意思是“显示”,其一般属性有
    1. Manifest-Version 用来定义manifest文件的版本,例如:Manifest-Version: 1.0
    2. Created-By 声明该文件的生成者,一般该属性是由jar命令行工具生成的,例如:Created-By: Apache Ant 1.5.1
    3. Signature-Version 定义jar文件的签名版本
    4. Class-Path 应用程序或者类装载器使用该值来构建内部的类搜索路径

    应用程序相关属性
    1. Main-Class 定义jar文件的入口类,该类必须是一个可执行的类,一旦定义了该属性即可通过 java -jar x.jar来运行该jar文件。