-
pom.xml常用元素介绍: <project>根 <modelVersion>指定了当前pom的版本 <groupId>反写的公司网址+项目名 <artifactId>项目名+模块名 <version>第一个0表示大版本号、第二个0表示分支版本号、第三个0表示小版本号 0.0.1SNAPSHOT <packaging>打包方式,默认是jar <name>项目描述名 <url>项目地址 <description>项目描述 <developers>开发人员列表 <licenses>许可证信息 <organization>组织信息 <dependencies> <dependence> <groupId></groupId> <artifactId></artifactId> <version></version> <type></type> <scope></scope> <optional></optional>设置依赖是否可选,true/false <exclusion></exclusion>排除依赖传递列表 </dependence> </dependencies> <build> <plugin> </plugin> </build> dependencyManagement为依赖的管理,一般用于父模块中,运行时不会被编译加载依赖。用于子模块继承父模块中依赖,比如junit测试依赖。build中为插件列表,会放相应的插件,parent用于对父模块中pom的继承,modules用于当项目启动时,需要多个模块是,对其他项目进行编译,不需要一个个进行编译。 dependencies表示依赖列表,dependency表示依赖项,scope表示依赖范围,optional表示设置依赖是否可选,默认为false,默认继承,为true则项目必须加载依赖项。exclusions表示排除依赖传递列表,比如如果项目引用spring,spring中被引用其他jar也会被引用,此为依赖传递。查看全部
-
发现了一个慕课网笔记的bug!查看全部
-
src -main -java -package -test -java -package resources mvn -v 查看mvn版本 compile 编译 test 测试 package 打包 clean 删除target install 安装jar包到本地仓库中 创建目录的两种方式 1.archetype:generate 按照提示进行选择 2.archetype:generate -DgroupId=组织名,公司网址的反写+项目名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所在包名查看全部
-
maven是基于项目对象模型(pom),可以通过一小段描述信息来管理项目的构建、报告和文档的软件项目管理工具。 下载maven访问maven.apache.org下载 maven目录结构: bin目录:mvn运行的一些脚本,在Windows命令行输入命令时会调用。 boot目录:包含了一个类加载器的框架,maven使用它加载自己的类库。 conf:配置文件,setting.xml,log。 lib:包含了maven自身和第三方依赖的类库 配置环境变量: M2_HOME:maven主目录 path 添加 :%M2_HOME%\bin 检测安装: cmd: mvn -v查看全部
-
解析1查看全部
-
常用构建命令: mvn compile 编译 test 测试 package 打包 clean 删除target install 安装jar包到本地仓库 自动创建目录骨架: 1.archetype:generate 按照提示进行 2.archetype:generate -DgroupId=组织名, 公司网址的反写+项目名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所存在的包 Maven中的坐标与仓库: "构件" 通过 "坐标" 作为其唯一的标识 "仓库": 本地仓库和远程仓库 "镜像仓库" "更改仓库位置" Maven的生命周期和插件 完整的项目构建过程包括: 清理, 编译,测试, 打包, 集成测试, 验证, 部署 Maven生命周期: clean 清理项目 default 构建项目(最核心) site 生成项目站点 pom.xml用于管理项目依赖和构建过程 依赖范围 依赖传递 依赖冲突 1. 短路优先 2. 先声明先优先 聚合和继承查看全部
-
1:打开Eclipse 2:创建Maven项目,选择archetype-webapp模板 3:解决Servlet没有生命依赖的问题,在pom.xml中添加servlet的依赖,可以去中央仓库选择servlet版本 例如: <dependency> <groupId>javax.servlet</groupId> <artifactId>javax.servlet-api</artifactId> <version>4.0.0-b01</version> </dependency> 4:手工完善Maven约定好的目录结构 可以在navigator窗口中手动新建 ../src/main/java ../src/test/java 5:Project Explorer中更新项目 6:创建项目的输出目录 build path中设置输出路径output folder,确保每个module都输出在../tartet/classes目录中 7:将Maven项目转换为Web项目 右击-属性-project facets-勾选动态模板(Dynamic Web Module) 8:修改部署时配置去掉多余的配置项例如:测试代码 右击-属性-Deployment Assembly-删除多余的配置项(测试代码) 9:使用package命令打包项目—使用jetty这个插件(在Maven的中央插件库中寻找)作为Web容器,在中央仓库查找jetty的plugin坐标配置到pom.xml中 pom.xml例子: <build> <finalName>webbproject-demo</finalName> <plugins> <plugin> <groupId>org.mortbay.jetty</groupId> <artifactId>jetty-maven-plugin</artifactId> <version>2.1.1</version> <executions> <execution> <!-- 在打包成功后使用jetty:run来运行jetty服务 --> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>查看全部
-
集成打包源码的插件绑定到default生命周期的package阶段: 就可以在使用package命令打包时把源码一起打包查看全部
-
聚合:如果项目D依赖项目C,项目C依赖项目B,项目B依赖项目A,我们需要一个个安装这项项目,在Maven中有一种方式可以将多个项目一次性安装,这就是聚合的概念。简单讲就是,需要人工多次操作的,只要Maven能理解,一次性告诉他,他就能帮我们做这件单调烦人的事情了。——使用<modules></modules>这个标签。 <modules> <module>../hongxin-bege</module> <module>../hongxin-nange</module> <module>../hongxin-shanji</module> </modules> 继承:多次使用到的依赖,比如:单元测试,没有必要在所有的项目中都引用一下,此时就可以采用继承的方式来实现,先来一个父级的POM.XML然后再继承此POM.XML。 1. packaging 改为pom。 2. dependencyManagement 中并不提取依赖,只进行统一管理。 3. property中定义了junit版本号,之后可以引用。 4. 父类parent中的main和test没有意义,可以删除。 父类pom: <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> </dependency> </dependencies> </dependencyManagement> 子类pom: <parent> <groupId>com.hongxin</groupId> <artifactId>hongxin-parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies>查看全部
-
依赖冲突 不同版本的构件 1.短路优先 2.先声明先优先 如果路径长度相同,则谁先声明,先解析谁查看全部
-
项目管理利器(Maven)——依赖传递 假设B项目依赖A项目,C项目又依赖B项目,那么在C项目中运行compile时,在引进B项目的同时,自动就把A项目也引进来了。如果不想将A项目导入的话,可以使用exclusions下设置exclusion,然后将A项目的坐标添加即可。 Ps:可以在settings.xml中的profile结点,来更改默认的Maven使用的jdk版本,否则将显示默认的1.5版本。 <profile> <id>jdk-1.7</id> <activation> <activeByDefault>true</activeByDefault> <jdk>1.7</jdk> </activation> <properties> <maven.compiler.source>1.7</maven.compiler.source> <maven.compiler.target>1.7</maven.compiler.target> <maven.compiler.compilerVersion>1.7</maven.compiler.compilerVersion> </properties> </profile>查看全部
-
测试类:查看全部
-
scope---依赖范围 compile:默认的范围,编译、测试以及运行阶段都有效 provided:在编译和测试时有效 runtime:在测试和运行时有效 test:只在测试范围有效 system:依赖范围和provided类似,但与本机系统相关联,可移植性差 import:导入的范围,它只使用在dependencyManagement中, 表示从其他的pom中导入dependency的配置查看全部
-
pom.xml常用元素介绍: <project>根 <modelVersion>指定了当前pom的版本 <groupId>反写的公司网址+项目名 <artifactId>项目名+模块名 <version>第一个0表示大版本号、第二个0表示分支版本号、第三个0表示小版本号 0.0.1SNAPSHOT <packaging>打包方式,默认是jar <name>项目描述名 <url>项目地址 <description>项目描述 <developers>开发人员列表 <licenses>许可证信息 <organization>组织信息 <dependencies> <dependence> <groupId></groupId> <artifactId></artifactId> <version></version> <type></type> <scope></scope> <optional></optional>设置依赖是否可选,true/false <exclusion></exclusion>排除依赖传递列表 </dependence> </dependencies> <build> <plugin> </plugin> </build> dependencyManagement为依赖的管理,一般用于父模块中,运行时不会被编译加载依赖。用于子模块继承父模块中依赖,比如junit测试依赖。build中为插件列表,会放相应的插件,parent用于对父模块中pom的继承,modules用于当项目启动时,需要多个模块是,对其他项目进行编译,不需要一个个进行编译。 dependencies表示依赖列表,dependency表示依赖项,scope表示依赖范围,optional表示设置依赖是否可选,默认为false,默认继承,为true则项目必须加载依赖项。exclusions表示排除依赖传递列表,比如如果项目引用spring,spring中被引用其他jar也会被引用,此为依赖传递。查看全部
-
项目管理利器(Maven)——Pom.xml解析 <name>项目的描述名</name> <url>项目的地址</url> <description>项目描述</description> <developers>开发人员信息</developers> <licenses>许可证信息</licenses> <!-- 依赖列表 --> <dependencies> <!-- 依赖项 --> <dependency> <groupId></groupId> <artifactId></artifactId> <version>一般由三个数字组成 第一个0表示大版本号;第二个0表示分支版本号;第三个0表示小版本号 snapshot快照版本 alpha内部测试 beta公测 release稳定 GA正式发布 </version> <type></type> <scope>依赖的范围</scope> <optional>设置依赖是否可选,默认是false</optional> <!-- 排除依赖传递列表 --> <exclusions> <exclusion></exclusion> </exclusions> </dependency> </dependencies> <!-- 依赖的管理,一般定义在父模块中,由子模块去继承 --> <dependencyManagement> <dependencies> <dependency></dependency> </dependencies> </dependencyManagement> <!-- 对构建行为提供相应的支持 --> <build> <!-- 插件列表 --> <plugins> <plugin> <!-- 指定坐标 --> <groupId></groupId> <artifactId></artifactId> <version></version> </plugin> </plugins> </build> <!-- 一般在子模块中指定所继承的父模块,用于子模块中对于父模块的继承 --> <parent></parent> <!-- 模块列表 指定多个模块,然后一起编译--> <modules> <module></module> </modules>查看全部
举报
0/150
提交
取消