• Maven学习(四)--构建maven工程


    (一)通过mvn命令构建一个maven工程:

    1、创建maven的web项目:

    进入你想要创建项目的文件夹下,输入命令:

    mvn archetype:generate -DarchetypeArtifactId=maven-archetype-webapp(该参数指定工程为web工程)

    D:>mvn archetype:generate
    [INFO] Scanning for projects...
    [INFO]
    [INFO] ------------------------------------------------------------------------
    [INFO] Building Maven Stub Project (No POM) 1
    [INFO] ------------------------------------------------------------------------
    [INFO]
    [INFO] >>> maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom >>>
    [INFO]
    [INFO] <<< maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom <<<
    [INFO]
    [INFO] --- maven-archetype-plugin:2.4:generate (default-cli) @ standalone-pom ---
    [INFO] Generating project in Interactive mode(在这里会卡顿一会儿,因为要从远程下载模板,创建命令中输入-DarchetypeCatalog=internal可以跳过从远程下载)
    
    
    
    Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 1426:(直接回车)
    Choose org.apache.maven.archetypes:maven-archetype-quickstart version:
    1: 1.0-alpha-1
    2: 1.0-alpha-2
    3: 1.0-alpha-3
    4: 1.0-alpha-4
    5: 1.0
    6: 1.1
    7: 1.3
    8: 1.4
    Choose a number: 8:(直接回车)
    Downloading: http://192.168.21.14:25000/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.4/maven-archetype-quickstart-1.4.jar
    Downloaded: http://192.168.21.14:25000/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.4/maven-archetype-quickstart-1.4.jar (7 KB at 44.2 KB/sec)
    Downloading: http://192.168.21.14:25000/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.4/maven-archetype-quickstart-1.4.pom
    Downloaded: http://192.168.21.14:25000/nexus/content/groups/public/org/apache/maven/archetypes/maven-archetype-quickstart/1.4/maven-archetype-quickstart-1.4.pom (2 KB at 13.8 KB/sec)
    Define value for property 'groupId': : com.cmos
    Define value for property 'artifactId': : zht
    Define value for property 'version': 1.0-SNAPSHOT: : 1.0
    Define value for property 'package': com.cmos: : zht
    Confirm properties configuration:
    groupId: com.cmos(输入groupId,自己定义,一般为org.google这种格式)
    artifactId: zht(输入项目artifactId,自定义,工程名)
    version: 1.0(输入项目版本,自定义)
    package: zht(输入最终package命令打包出来的jar包或war包名称)
    Y: :(直接回车)
    [INFO] ----------------------------------------------------------------------------
    [INFO] Using following parameters for creating project from Archetype: maven-archetype-quickstart:1.4
    [INFO] ----------------------------------------------------------------------------
    [INFO] Parameter: groupId, Value: com.cmos
    [INFO] Parameter: artifactId, Value: zht
    [INFO] Parameter: version, Value: 1.0
    [INFO] Parameter: package, Value: zht
    [INFO] Parameter: packageInPathFormat, Value: zht
    [INFO] Parameter: package, Value: zht
    [INFO] Parameter: version, Value: 1.0
    [INFO] Parameter: groupId, Value: com.cmos
    [INFO] Parameter: artifactId, Value: zht
    [INFO] project created from Archetype in dir: D:zht
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESS
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2:38.580s
    [INFO] Finished at: Mon Sep 30 10:08:24 CST 2019
    [INFO] Final Memory: 13M/124M
    [INFO] ------------------------------------------------------------------------

    当然,你也可以输入命令:mvn archetype:generate -DgroupId=com.cmos -DartifactId=zhyyt -Dversion=0.01-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=internal 自动生成项目,省去了上述的输入步骤。

    构建好的web项目目录为下图这种目录结构:

    2、当构建时没有输入-DarchetypeArtifactId=maven-archetype-webapp,则构建的为普通java工程,构建的工程目录为下图结构:

    (二)通过Eclipse构建一个maven工程:

     1、 File -> New -> Maven Project -> Next ,在接下来的窗口中会看到一大堆的项目模板,Filter栏里输入“webapp”,选择下图中选项,然后Next

    2、 在弹出的窗口中输入下列项目信息,然后Finish:

    3、右键生成的项目,选择properties --> Java Build Path,将jdk改为workSpace的jdk

    4、Java Compiler和Project Facts设置参考下图

     

    5、Deployment Assembly配置的为package打包发布的内容,去掉test目录

      

    6、点击OK后,至此项目的目录结构应该如下图:

     7、src下的index.jsp报错“The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path”

      解决方法,在pom.xml文件中添加依赖:

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>

    8、pom.xml文件报错“org.apache.maven.archiver.MavenArchiver.getManifest(org.apache.maven.project.MavenProject, org.apache.maven.archiver.MavenArchiveConfiguration)”

    该报错其实不影响工程,想要去掉报错,参考网上解决方法,要安装插件,试了几次没成功。

    根据报错信息,看到maven编译的版本跟JDK版本不匹配,原来我在创建maven的时候指定了一个版本,以致于没有用默认的版本。

    但是我不想更改我的maven版本,最终将pom.xml文件中指定的mvn插件版本的配置去掉,成功:

    个人理解,如有错误,欢迎指正!
  • 相关阅读:
    容器环境的JVM内存设置最佳实践
    K8S基于ingress-nginx实现灰度发布
    基于ambassador实现K8S灰度发布
    Nginx配置中一个不起眼字符"/"的巨大作用,失之毫厘谬以千里
    springboot之jackson的两种配置方式
    CentOS7清理磁盘空间
    主机磁盘满了,却查不到大文件占用
    【数据库-MySql】开启事件 event_scheduler
    Jenkins自动化构建vue项目然后发布到远程服务器
    CentOS 7 使用NVM管理nodejs
  • 原文地址:https://www.cnblogs.com/gllegolas/p/11610341.html
Copyright © 2020-2023  润新知