• maven创建父子工程


    创建父工程

    mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.alan.springmvc -DartifactId=alan-springmvc
    

    中间出现选择什么的,直接回车即可。 创建完成后修改pom.xml中packaging内容为pom。
    使用mvn archetype:generate命令和mvn archetype:create都可以创建项目,目前没有发现这两者的区别,唯一区别的地方就是发现使用mvn archetype:generate命令创建项目时要特别长的时间才能够将项目创建好,而使用mvn archetype:create命令则可以很快将项目创建出来。

    创建子工程

    mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.alan.springmvc.dao -DartifactId=alan-springmvc-dao -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0
    
    mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.alan.springmvc.service -DartifactId=alan-springmvc-service -DarchetypeArtifactId=maven-archetype-quickstart -Dversion=1.0
    
    mvn archetype:generate -DarchetypeCatalog=internal -DgroupId=com.alan.springmvc.web -DartifactId=alan-springmvc-web -DarchetypeArtifactId=maven-archetype-webapp -Dversion=1.0
    

    创建完成后删除子工程pom.xml中groupId和version两行,这样可以直接继承父类的。

    将项目编译为eclipse项目

    mvn eclipse:eclipse -Dwtpversion=1.0
    

    将项目导入eclipse

    修改依赖关系:service依赖dao,web依赖service

    com.alan.springmvcalan-springmvc-dao${project.version}
    

    修改web的pom.xml

    com.alan.springmvcalan-springmvc-service${project.version}
    

    JavaProject的pom.xml文件说明

    • pom意思就是project object model。
    • pom.xml包含了项目构建的信息,包括项目的信息、项目的依赖等。
    • pom.xml文件是可以继承的,大型项目中,子模块的pom.xml一般都会继承于父模块的pom.xml
      pom.xml文件的内容如下:
    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.mycompany.app</groupId>
      <artifactId>myapp</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>myapp</name>
      <url>http://maven.apache.org</url>
    
      <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
      </properties>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>
    
    • pom.xml文件的节点元素说明:
    <project>       pom文件的顶级节点
    <modelVersion>     object model版本,对Maven2和Maven3来说,只能是4.0.0 
    <groupId>       项目创建组织的标识符,一般是域名的倒写
    <artifactId>      定义了项目在所属组织的标识符下的唯一标识,一个组织下可以有多个项目
    <version>        当前项目的版本,SNAPSHOT,表示是快照版本,在开发中
    
    <packaging>      打包的方式,有jar、war、ear等
    <name>        项目的名称
    <url>          项目的地址
    
    <properties>    属性配置,比如:<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <dependencies>     构建项目依赖的jar
    

    其中由groupId、artifactId和version唯一的确定了一个项目坐标

    运行

    除了使用Tomcat服务器运行Web项目之外,我们还可以在Web项目中集成Jetty发布运行,首先在pom.xml文件中配置Jetty插件,如下:

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.mycompany.app</groupId>
      <artifactId>myWebApp</artifactId>
      <packaging>war</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>myWebApp Maven Webapp</name>
      <url>http://maven.apache.org</url>
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
      <build>
        <finalName>myWebApp</finalName>
         <pluginManagement>
            <!--配置Jetty-->
              <plugins>
                <plugin>
                 <groupId>org.mortbay.jetty</groupId>
                 <artifactId>maven-jetty-plugin</artifactId>
                </plugin>
              </plugins>
        </pluginManagement>
      </build>
    </project>
    

    打开命令行窗口,切换到myWebApp目录,然后执行:mvn jetty:run启动Jetty服务器,如下图所示:

    Maven创建项目的命令说明

    mvn archetype:create或者mvn archetype:generate       固定写法
    
      -DgroupId                       组织标识(包名)
    
      -DartifactId                      项目名称
    
      -DarchetypeArtifactId                  指定ArchetypeId,maven-archetype-quickstart,创建一个Java Project;maven-archetype-webapp,创建一个Web Project
    
      -DinteractiveMode                    是否使用交互模式
    
    archetype是mvn内置的一个插件,create任务可以创建一个java项目骨架,DgroupId是软件包的名称,DartifactId是项目名,DarchetypeArtifactId是可用的mvn项目骨架,目前可以使用的骨架有:
    maven-archetype-archetype
    maven-archetype-j2ee-simple
    maven-archetype-mojo
    maven-archetype-portlet
    maven-archetype-profiles (currently under development)
    maven-archetype-quickstart
    maven-archetype-simple (currently under development)
    maven-archetype-site
    maven-archetype-site-simple
    maven-archetype-webapp
    

    每一个骨架都会建相应的目录结构和一些通用文件,最常用的是maven-archetype-quickstartmaven-archetype-webapp骨架。maven-archetype-quickstart骨架是用来创建一个Java Project,而maven-archetype-webapp骨架则是用来创建一个JavaWeb Project。

    定位问题原因* 根据原因思考问题解决方案* 实践验证方案有效性* 提交验证结果
  • 相关阅读:
    关于python3在centOS7下源码安装的配置
    nginx服务器多虚拟主机配置
    完全数
    高精度计算组合数
    算法竞赛入门经典第六章总结
    线段树
    奶牛
    算法竞赛入门经典第五章总结
    优先队列的使用方法
    放魔法石的游戏
  • 原文地址:https://www.cnblogs.com/jimoliunian/p/12978894.html
Copyright © 2020-2023  润新知