-
常用构建命令: 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. 先声明先优先 聚合和继承查看全部
-
扩展--Tomcat作为Web容器,需要在Tomcat的官网上下载一个Tomcat的Maven插件 在tomcat官网找到Maven Plugin的坐标配置到到pom.xml中 例如: <build> <finalName>webbproject-demo</finalName> <plugins> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <executions> <execution> <!-- 在打包成功后来运行tomcat服务 --> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build> </project>查看全部
-
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>查看全部
-
创建WEB项目 1:打开Eclipse,创建Maven项目,选择archetype-webapp模板<br> 2:在pom.xml中添加servlet的依赖,设置依赖范围为provided(在编译测试时有效),否则jsp页面会报错<br> <dependency><br> <groupId>javax.servlet</groupId><br> <artifactId>javax.servlet-api</artifactId><br> <version>4.0.0-b01</version><br> <scope>provided</scope><br> </dependency><br> 3:在项目的Project Explorer视图下Java Resources下创建Source Folder类型的文件 分别为:src/main/java和src/test/java<br> 4:检查classes文件的输出路径,项目右键-》Build Path-》Configure Build Path-》Source检查之前创建的两个文件的Output folder:xxx/target/classes<br> 5:将Maven项目转换为Web项目,项目右键-》属性-》Project Facets,选上Dynamic Web Module<br> 6:修改部署时的默认配置,项目右键-》属性-》Deployment Assembly移除测试文件<br> <br> 至此:web项目创建成功查看全部
-
Maven 配置web项目 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.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <executions> <execution> <phase>package</phase> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> </plugins> </build>查看全部
-
项目管理利器(Maven)——继承 继承:多次使用到的依赖,比如:单元测试,没有必要在所有的项目中都引用一下,此时就可以采用继承的方式来实现,先来一个父级的POM.XML然后再继承此POM.XML。 注意: 1. packaging 改为pom。 2. dependencyManagement 中并不提取依赖。 3. property中定义了unit版本号,之后可以引用。 4. 父类parent中的main和test没有意义,可以删除。 项目管理利器(Maven)——聚合 1.聚合:如果项目D依赖项目C,项目C依赖项目B,项目B依赖项目A,我们需要一个个安装这项项目,在Maven中有一种方式可以将多个项目一次性安装,这就是聚合的概念。简单讲就是,需要人工多次操作的,只要MAVEN能理解,一次性告诉他,他就能帮我们做这件单调烦人的事情了。——使用<modules></modules>这个标签。 2.继承:多次使用到的依赖,比如:单元测试,没有必要在所有的项目中都引用一下,此时就可以采用继承的方式来实现,先来一个父级的POM.XML然后再继承此POM.XML 如图中version可以用类似EL表达式的写法,将其在属性中定义,另外父类不必写方法,可以将文件删除掉查看全部
-
聚合:如果项目D依赖项目c。项目c依赖项目B 项目B依赖项目A 我们需要一个个安装这项项目,在Maven中有一种方式可以将多个项目一次性安装,这就是聚合的概念,简单讲就是,需要人工多次操作的,重要Maven能理解,一次性告诉他,他就能帮我们做这些单调烦人的事情了,---使用<modules></modules>这个标签 继承:多次使用到的依赖,比如:单元测试,没有必要在所有的项目中都引用一下,此时就可以采用继承的方式来实现,先来一个父类的POM.XML然后在继承此POM.XML 注意: 1.packaging改为pom 2 dependencyManagement中并不提取依赖 3.property中定义了unit版本号,之后可以引用 4 父类parent中的main和test没有意义,可以删除查看全部
-
mvn archetype:generate -D查看全部
-
项目管理利器(Maven)——依赖冲突<br> 如果C和D依赖了一个不同版本的相同的构件C。<br> ①:短路优先:<br> 会优先解析路径短的版本(D)。<br> A -> B -> C -> X(jar)<br> A -> D -> X(jar) 优先解析短的(两个X(jar)版本不同) ②:先声明先优先:A->C->jar,A->D->jar<br> 如果路径长度相同,则谁先声明,先解析谁(C)。 依赖冲突 不同版本的构件 1.短路优先 2.先声明先优先 如果路径长度相同,则谁先声明,先解析谁查看全部
-
先声明先优先查看全部
-
maven基础知识:短路优先查看全部
-
项目管理利器(Maven)——排除依赖 假设B项目依赖A项目,C项目又依赖B项目,那么在C项目中运行compile时,在引进B项目的同时,自动就把A项目也引进来了。如果不想将A项目导入的话,可以使用exclusions下设置exclusion,然后将A项目的坐标添加即可将A项目排除在Maven Dependeccies之外。 修改maven默认jre版本,在setting.xml中更改 <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> A依赖B,B依赖C,那么A也依赖C。如果要A不依赖C,则要用exclusions标签来排除依赖。查看全部
-
项目管理利器(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>查看全部
-
pom.xml 字段的意义查看全部
-
mvn -v 查看maven的版本查看全部
举报
0/150
提交
取消