maven 项目的创建入门

打印 上一主题 下一主题

主题 902|帖子 902|积分 2706

拓展阅读

maven 包管理平台-01-maven 入门介绍 + Maven、Gradle、Ant、Ivy、Bazel 和 SBT 的详细对比表格
maven 包管理平台-02-windows 安装设置 + mac 安装设置
maven 包管理平台-03-maven project maven 项目的创建入门
maven 包管理平台-04-maven archetype 项目原型
maven 包管理平台-05-multi module 多模块
maven 包管理平台-06-常用技巧 及时更新快照/乱码问题/下载很慢/包依赖解决包冲突/怎样导入本地 jar
maven 包管理平台-07-plugins 常见插件介绍
maven 包管理平台-08-nexus 自己搭建 maven 堆栈
创建 Maven 项目

您可以像这样在 IntelliJ IDEA 中创建 Maven 项目:
  1. File -> New -> Module -> Maven
复制代码

  • 步骤 1:从原型中选择一个
  • 步骤 2:添加 GroupId、ArtifactId、Version
  • 步骤 3:设置属性
如果 Maven 构建非常缓慢,您可以添加以下代码:
  1. archetypeCatalog=internal
复制代码
运行项目


  • 在命令行中的优雅方式
  1. mvn clean install
  2. mvn tomcat7:run
复制代码

  • 通例方式
Tomcat 中文文档
提示
设置

您可以使用以下步骤设置 Maven 设置,然后搜索 maven
快捷键:ctrl+alt+s
报错
  1. -Dmaven.multiModuleProjectDirectory 系统属性未设置
复制代码

  • 您可以使用低版本的 Maven 以适应您的 IDEA。
  • 或者按照以下方式解决:
  1. -Dmaven.multiModuleProjectDirectory=$M2_HOME
  2. M2_HOME D:\Maven\apache-maven-3.3.9
复制代码
pom.xml


  • 默认的 pom.xml
  1. <?xml version="1.0" encoding="<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0"
  3.          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  4.          xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5.     <modelVersion>4.0.0</modelVersion>
  6.     <groupId>com.ryo</groupId>
  7.     <artifactId>maven</artifactId>
  8.     <version>1.0-SNAPSHOT</version>
  9.     <dependencies>
  10.         <dependency>...</dependency>
  11.         ...
  12.     </dependencies>
  13.     <build>
  14.         <plugins>
  15.             <plugin>...</plugin>
  16.             ...
  17.         </plugins>
  18.         
  19.         <resources>
  20.             <resource>
  21.                 <directory>src/main/java</directory>
  22.                 <includes>
  23.                     <include>**/*.xml</include>
  24.                 </includes>
  25.             </resource>
  26.             <resource>
  27.                 <directory>src/main/resources</directory>
  28.                 <filtering>true</filtering>
  29.                 <includes>
  30.                     <include>**/*.xml</include>
  31.                     <include>**/*.properties</include>
  32.                 </includes>
  33.             </resource>
  34.         </resources>
  35.     </build>
  36. </project>
复制代码

  • 定义打包方式
  1. <packaging>war</packaging>
复制代码

  • 定义源文件编码
  1. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
复制代码
常用的插件汇总


  • 定义 Maven 编译器插件
  1. <plugin>
  2.     <groupId>org.apache.maven.plugins</groupId>
  3.     <artifactId>maven-compiler-plugin</artifactId>
  4.     <version>3.3</version>
  5.     <configuration>
  6.         <source>1.7</source>
  7.         <target>1.7</target>
  8.     </configuration>
  9. </plugin>
复制代码

  • 定义 Tomcat7 插件
  1. <plugin>
  2.     <groupId>org.apache.tomcat.maven</groupId>
  3.     <artifactId>tomcat7-maven-plugin</artifactId>
  4.     <version>2.2</version>
  5.     <configuration>
  6.         <port>8080</port>
  7.         <path>/</path>
  8.         <uriEncoding>${project.build.sourceEncoding}</uriEncoding>
  9.     </configuration>
  10. </plugin>
复制代码

  • 如果您希望默认情况下跳过测试,但希望能够通过命令行重新启用测试,
    您需要在 pom 文件中通过 properties 部分进行设置:
  1. <plugin>
  2.     <groupId>org.apache.maven.plugins</groupId>
  3.     <artifactId>maven-surefire-plugin</artifactId>
  4.     <version>2.19.1</version>
  5.     <configuration>
  6.       <skipTests>true</skipTests>
  7.     </configuration>
  8. </plugin>
复制代码

  • 您可以使用 Maven Shade 插件 将类打包成 JAR。
maven scope 简朴介绍


  • compile,缺省值,适用于所有阶段,会随着项目一起发布。
  • provided,类似compile,期望JDK、容器或使用者会提供这个依赖。如servlet.jar。
  • runtime,只在运行时使用,如JDBC驱动,适用运行和测试阶段。
  • test,只在测试时使用,用于编译和运行测试代码。不会随项目发布。
  • system,类似provided,需要显式提供包罗依赖的jar,Maven不会在Repository中查找它。
  • import 它只使用在中,表示从其它的pom中导入dependency的设置
本文由博客一文多发平台 OpenWrite 发布!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

乌市泽哥

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表