-
maven中的pom解析查看全部
-
mvn archetype:generate :一步步填写项目所需资料
mvn archetype:generate -DgroupId=组织名,
-DartifactId=项目模块名
-Dversion=版本号
-Dpackage=代码所存在的包名
查看全部 -
mvn -v
mvn -compile :编译项目
mvn -test :运行测试
mvn -package :生成部署包
mvn -clean :清空编译文件
mvn -install :将生成的jar文件提交到mvn仓库中
查看全部 -
package的命名,最好遵循groupId和ArtifactId。方便我们后期搜索和管理!查看全部
-
建立web工程的步骤
先建立Maven工程,选择webapp模式进行创建。
其次引入servlet-api的依赖包
看工程的目录结构,如果不符合相应maven的结构,则需要自己手动加入包,在当前Project Expoler下加入不了包,则需要在Naviate下进行加入相应的包。
右键属性,找到相应的Project Facts 选中web 2.3的版本。
右键属性,找到Deploy 的选项将test的选项去掉,意为需要在发布的时候不发布这两个测试的包。
添加tomcat或者jetty的插件,然后制定其在Maven打包的工程中引用即可。
添加插件直接使用plugins plugin即可。将坐标加入进去,在打包阶段使用插件则使用executions即可,写入相应的phase阶段,以及goals目标。
executions与exclusions区别
前者指的是在Maven生命周期的那个阶段运行此插件,将此插件集成到生命周期的过程中。
后者指的是排除依赖关系的标签。
查看全部 -
聚合:指的是多个Maven包一起打包。
即新建一个Maven工程,在新的Maven工程里面加入Modules
然后加入多个module,一个module代表一个Maven项目,之后对此新建的Maven工程进行打包,即可以将其下的所有工程进行打包。
继承:是指如果很多Maven工程都有用到相应的包,那么我们需要建立一个父类的Maven工程,让其他的Maven工程继承此工程,即可以获取相应的包。
即:新建一个Maven工程,写入dependenceMangent标签,并且将需要被继承的包dependences 以及dependence的依赖坐标加入进去。
其次在子工程中,写入parent标签进行继承,写入相应父工程的坐标即可。子工程中仍旧需要写入引用,只不过不需要写入相应的版本即可。
ps:可以pom.xml文件中定义Properties属性,自定义标签。
然后在相应位置引用的形式是${标签名}即可。
查看全部 -
如果在同一个工程下,加入多个依赖包只是版本等不同,则不遵循以下原则,会变成之后的版本覆盖掉之前的版本。后引入的jar包覆盖之前的Jar包。
而在Maven工程之间依赖关系,则遵循:
短路优先:即找到该不同版本的Jar包,那个离着当前工程最近,就是用那个。
谁先解析就用谁:即如果找到该不同版本的Jar包的路径长度是相同的,那么在当前工程引用其他工程的时候,那个工程里的Jar包先被解析就是用谁。即先来后到。例:当A工程引用了B和C工程,取决于是B先被解析还是C先被解析,则选择谁的Jar包,主要看配置文件中的依赖的位置。
查看全部 -
依赖传递是指A依赖B B依赖C 那么A间接依赖C。
创建三个Maven工程,并且在B中引用C的坐标,A中引用B的坐标。
注意:必须先对C和B进行编译打包同步到本地仓库,否则添加依赖的时候找不到相应的包。
如果不想在A中让B依赖C,那么则在A项目中,加入exclusions exclusion标签,加入C的坐标,排除依赖。
修改Maven的JRE版本,需要从网上查找加入到setting.xml 文件的profiles标签中。在建立新的maven工程则JRE一致了。
查看全部 -
程序三个阶段:编译测试运行
scope则根据其值来规定该依赖作用的范围。
compile 在编译测试运行的时候都有效
provide 在编译以及测试的时候有效
runtime 在测试以及运行的时候有效
test 只在测试的时候有效
system 关联本机系统的JAVA_HOME 可移植性差
import 依赖于dependenceManagement标签,可以将其他类型为type:pom的坐标导入到该依赖管理中。意思是把其他maven项目的pom的依赖导入到该项目的依赖管理中。
含义地址:
http://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Dependency_Scope
查看全部 -
根元素 project<br> 2.modelVersion 固定版本4.0.0 指定了当前pom的版本<br> 3.坐标 <groupId>,<artifactId>,<version>,<packageing><br> groupId 反写的公司网址+项目名<br> artifactId 项目名+模块名<br> version 版本号 第一个0表示大版本号,第二个0表示分支版本号,第三个0表示小版本号。如:0.0.1snapshot快照。<br> (snapshot 快照/alpha 内部测试/beta 公测/Release稳定/GA正式发布)<br> packaging 打包方式 默认是jar<br> 还有war,zip,pom包 4. name :项目描述名<br> url:项目的地址<br> description:项目描述<br> developers:开发人员列表<br> licenses:许可证<br> organization:组织信息<br> 5.dependency的<br> <scope>指定依赖的范围 :test在测试的时候有效,如果在主代码中引用就会报错 <optional>:设置依赖是否可选<br> :默认是false,子项目默认是继承的 true,则子项目必须显示的引用该依赖 <exclusions>:排除依赖传递列表(A->B->C,可排除C)<br> 6.dependencyManagement管理,仅仅启到定义的作用,并不会被运行,不会被引用到实际的依赖,用于定义parent,子模块继承。<br> 7.build-plugins 插件列表<br> 8.parent 、 modules 可指定多个maven项目(指定多个模块,一起编译)
查看全部 -
Maven 生命周期 : 清理项目 构建项目 发布站点
清理项目:clean 分为3个阶段,pre-clean 清理前 clean 清理 post-clean清理之后
构建项目: compile 编译 test 测试 package打包
发布站点:pre-site发布站点前 site 发布站点 post-site发布站点后
在Maven官网有其相应的插件,对应了相应生命周期的操作。
在pom文件中引入插件,build下的plugins 创建单个plugin
输入相应的坐标(groupId artifactid version),如果需要绑定到相应的生命周期过程的时候,则需要加入executions 加入单个 execution
加入标签 phase 表示是在哪个生命周期期间运行此插件,加入goals
写入单个goal,表示插件的类别。格式如下:
<build>
<plugins>
<plugin>
<groupId></groupId>
<artifactId></artifactId>
<version></version>
<executions>
<execution>
<phase></phase>
<goals>
<goal></goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
查看全部 -
jetty 插件 构建web容器
查看全部 -
SNAPSHOT 快照版本什么意思查看全部
-
Junit注解有什么作用查看全部
-
依赖冲突
1短路优先,优先解析短路的版本
2谁先声明先解析
查看全部
举报