idea相关

字体设置:

file-setting-editor-font

主体颜色:

file-setting-editor-color schema-general ;schema选择intelliJ Light;text下面点开default text,然后设置颜色

模块

导入模块:

关联导入(源文件如果丢失,模块也就没有了):file-new-module from existing sources,找到相关文件夹,选择文件夹下的iml文件-ok

创建方式导入:在自己已有项目上创建(只是图个方便,这样模块所在目录就好确定了),文件目录可以自己再定义,取个名字,再将模块代码复制进来。

删除模块:

最干净直接的方式是先右键remove module,然后打开模块所在目录直接删。

还可以选中项目delete,但这样很可能删不干净,还需要去模块所在目录的.idea,打开module.xml,删除相关module信息,还不行就重启idea。

快捷键

多行注释:ctrl+shift+/

加入代码结构:ctrl+alt+t

批量重命名:shift+f6

关闭Idea自动注入检查

当自动注入的是框架创建的代理类时,idea没有扫描到对应class,直接注入就有可能报错,解决办法:

inspection ''Autowiring for bean class..."/edit inspection ... /将'Autowiring for bean class的勾选取消或将serverity设置成其他提示等级。

中文格式设置

file/setting/editor/file encoding

导入自定义模块报错

当我们在idea中导入自己写的模块时,pom导入了相应依赖,项目就不会报错。

但当我们compile时会报错,原因是idea中有了依赖,但maven仓库中还没有。

这时我们需要使用install命令,将依赖build到maven仓库。

maven相关

依赖冲突问题

路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高

声明优先:当资源在相同层级被依赖时,配置顺序靠前的生效

特殊优先:当同级配置了相同资源的不同版本,后配置的生效

可选依赖

<dependency>    

        <groupId>com.xxz</groupId>    

        <artifactId>maven_pojo</artifactId>    

        <version>1.0-SNAPSHOT</version>    

        <!--隐藏当前依赖,对外将不具有依赖传递性-->             

        <optional>true</optional>

</dependency>

排除不需要的依赖(例如导入的第三方东西,自己又不能改就可以用)

<dependency>  

        <groupId>com.xxz</groupId>  

        <artifactId>maven_dao</artifactId>  

        <version>1.0-SNAPSHOT</version>  

        <!--排除依赖是隐藏当前资源对应的依赖关系-->  

        <exclusions>    

                <exclusion>      

                        <groupId>log4j</groupId>      

                        <artifactId>log4j</artifactId>    

                </exclusion>    

        </exclusions>

</dependency>

聚合

由于多个模块都依赖于某公共模块,当这个公共模块改动时,所有的模块都会受影响,这里可以引入一个管理模块,让所有模块一起编译,如果有依赖问题当时就能发现。

做法:

新建一个模块,pom中的package标签值写成pom:

<packaging>pom</packaging>

然后将要一起打包的所有模块都配在pom文件中:

<modules>    

        <module>../maven_ssm</module>    

        <module>../maven_pojo</module>    

        <module>../maven_dao</module>

</modules>

继承

按照上面聚合的方式设置父工程。

子工程配置:

<parent>  

        <groupId>com.itheima</groupId>  

        <artifactId>maven_parent</artifactId>  

        <version>1.0-SNAPSHOT</version>  

        <!--指定父工程的pom文件-->  

        <relativePath>../maven_parent/pom.xml</relativePath>

</parent>

然后父工程写的依赖子工程自动就有了。

部分约束,dependencyManagement给子模块选择,需要的话就自己写依赖(不加版本,版本由父工程指定,如果自己写了也行,就不再受父工程约束)

<dependencyManagement>    

        <dependencies>        

                <dependency>            

                        <groupId>com.alibaba</groupId>            

                        <artifactId>druid</artifactId>            

                        <version>1.1.16</version>        

                </dependency>        

                ……    

        </dependencies>

</dependencyManagement>

属性

定义属性:

<properties>  

        <spring.version>5.2.10.RELEASE</spring.version>  

        <junit.version>4.12</junit.version>

        <jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>

</properties>

引用属性:

<dependency>  

        <groupId>org.springframework</groupId>  

        <artifactId>spring-context</artifactId>  

        <version>${spring.version}</version>

</dependency>

如果想让配置文件也可以解析,那需要配置相应的maven设置并给出相应的范围:

<build>  

        <resources>    

                <resource>    

                        <!--这里可以直接配相对路径,但这里用了系统属性,范围更广-->   

                        <directory>${project.basedir}/src/main/resources</directory>                               <filtering>true</filtering>    

                </resource>  

        </resources>

</build>

jdbc.driver=com.mysql.jdbc.Driver

jdbc.url=${jdbc.url}

jdbc.username=root

jdbc.password=root

上面的${project.basedir}是pom的系统的属性,

pom的属性列表有:

自定义属性(常用)${自定义属性名} 如:${spring.version}

内置属性                  ${内置属性名}     如:${basedir}    ${version}

Setting属性              ${setting.属性名} 如:${settings.localRepository}

Java系统属性          ${系统属性分类.系统属性名} 如:${user.home}

环境变量属性           ${env.环境变量属性名}         如:${env.JAVA_HOME}

mvn help:system

可以看到相应的属性。

版本管理

SNAPSHOT(快照版本)还在开发中的版本

 RELEASE(发布版本) 向外部发布的版本,

发布版本(进行了相应的测试,发布出来供用户尝鲜)

        alpha版

        beta版

        纯数字版

打war包时,忽略web.xml检查

<plugin>  

        <groupId>org.apache.maven.plugins</groupId>  

        <artifactId>maven-war-plugin</artifactId>  

        <version>3.2.3</version>  

        <configuration>    

                <failOnMissingWebXml>false</failOnMissingWebXml>  

        </configuration>

</plugin>

maven图标:

这个是用于显示maven依赖的层级的 

这个是用于执行maven命令的 

跳过测试

跳过测试的三种方式:

        第一种是点击图标

        第二种是执行mvn命令:

        mvn install –D skipTests

        第三种是pom文件手动配置:

<plugin>  

        <artifactId>maven-surefire-plugin</artifactId>  

        <version>2.22.1</version>  

        <configuration>    

                <skipTests>true</skipTests><!--设置跳过测试-->    

                <includes><!--包含指定的测试用例-->      

                        <include>**/User*Test.java</include>    

                </includes>    

                <excludes><!--,如果不跳过的话可以配置,排除指定的测试用例-->      

                        <exclude>**/User*TestCase.java</exclude>    

                </excludes>  

        </configuration>

</plugin>

pom在多环境开发的作用

<!--定义多环境-->

<profiles>  

        <!--定义具体的环境:生产环境-->  

        <profile>    

                <!--定义环境对应的唯一名称-->    

                <id>env_dep</id>    

                <!--定义环境中专用的属性值-->    

                <properties>      

                        <jdbc.url>jdbc:mysql://127.0.0.1:3306/ssm_db</jdbc.url>    

                </properties>    

                <!--设置默认启动的配置-->    

                <activation>      

                        <activeByDefault>true</activeByDefault>    

                </activation>  

        </profile>  

        <!--定义具体的环境:开发环境-->  

        <profile>    

        <id>env_pro</id>    

        ……  

        </profile>

</profiles>

点击上面的m图标,-P指定环境

mvn install –P pro_env

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

呀吼呀吼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值