啸羽程序园
教程学习项目笔记

maven笔记之一步一个脚印儿

很多人对于一些项目管理软件仅仅停留在会简单的应用而不去深入理解的阶段,比如渐渐深入人心的maven,仅仅懂得使用几个简单的命令clean 和install,而自己对于maven的了解浅尝辄止。学习一项技能还是要尽可能的深入了解才能掌握其狠心的价值。牢骚到此为止,此文谨记一些maven中比较深刻的知识以备忘。

创建一个项目,拿eclipse距离,以前通常都是创建java项目、创建web项目,想在不需要了,直接创建maven项目,初学时候网上经常看见什么maven转web,web转maven,然后点项目的properties中的project facets 去更改web的版本,其实大可不必,一切都可以在maven配置文件里搞定,而且我就有过点了project facets 导致项目文件结构改变,出现了莫名其妙的问题,父项目中包含的子项目模块莫名其妙报错,找不到类,虽然不影响项目运行但是项目中的醒目大红叉实在蛋疼无比。

再记录一个很实用也不太容易查找的小技巧:如果一个项目中又有maven管理jar又想直接引用本地下载好的jar包,该如何处理?有两种方案,第一:可以把jar包放在你想要的特定位置

比如:F:/sms_new/sms_parent/sms_web/src/main/webapp/WEB-INF/lib目录下,那么就可以在pom中添加配置如下:

<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<!– 插件的版本 –>
<version>3.5.1</version>
<!– 编译级别 –>
<configuration>
<source>1.8</source>
<target>1.8</target>
<!– 编码格式 –>
<encoding>UTF-8</encoding>
<compilerArguments>
<extdirs>/F:/sms_new/sms_parent/sms_web/src/main/webapp/WEB-INF/lib</extdirs>
</compilerArguments>
</configuration>
</plugin>

标红部分代表maven可以引入该路径下的jar包而不用手动去导入。再说一下路径问题:

maven中内置了一些变量可以直接使用:

${project.basedir}同${basedir}表示项目根目录,即包含pom.xml文件的目录;

${version}表示项目版本;

${project.baseUri}表示项目文件地址;

${maven.build.timestamp}表示项目构件开始时间;

${maven.build.timestamp.format}表示属性${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm,可自定义其格式,其类型可参考java.text.SimpleDateFormat。


接下来记录一个关于父子项目显示的问题,我想把父子项目展示成按照父子树形结构展示该怎么做?

1、选择project explorer 视图

2、选择Project presentation – Hierarchial

ok万事俱备。

待续————-

 

 

Hi, I’m shen, 啸羽