• maven构建java项目的过程【完全】


    在构建项目之前,首先搭建好maven配置环境,然后再配置setting.xml文件,将镜像配置完成,进行如下步骤:

    构建项目命令及参数说明

    一、控制台输入以下命令【在要创建的目录下】:

    mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

    参数说明:

    • -DgourpId: 组织名,公司网址的反写 + 项目名称
    • -DartifactId: 项目名-模块名
    • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
    • -DinteractiveMode: 是否使用交互模式

    生成的文件夹结构如下:

     

    各个文件夹说明:

    文件夹结构描述
    consumerBanking 包含 src 文件夹和 pom.xml
    src/main/java contains java 代码文件在包结构下(com/companyName/bank)。
    src/main/test contains 测试代码文件在包结构下(com/companyName/bank)。
    src/main/resources 包含了 图片 / 属性 文件(在上面的例子中,我们需要手动创建这个结构)。

    在 C:MVNconsumerBankingsrcmainjavacomcompanynameank 文件夹中,可以看到一个 App.java,代码如下:

    package com.companyname.bank;
     
    /**
     * Hello world!
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
            System.out.println( "Hello World!" );
        }
    }

    打开 C:MVNconsumerBankingsrc estjavacomcompanynameank 文件夹,可以看到 Java 测试文件 AppTest.java。

    package com.companyname.bank;
     
    import junit.framework.Test;
    import junit.framework.TestCase;
    import junit.framework.TestSuite;
     
    /**
     * Unit test for simple App.
     */
    public class AppTest extends TestCase 
    {
        /**
         * Create the test case
         *
         * @param testName name of the test case
         */
        public AppTest( String testName )
        {
            super( testName );
        }
     
        /**
         * @return the suite of tests being tested
         */
        public static Test suite()
        {
            return new TestSuite( AppTest.class );
        }
     
        /**
         * Rigourous Test :-)
         */
        public void testApp()
        {
            assertTrue( true );
        }
    }

    构建项目及测试

    进入 C:/MVN 文件夹下,打开 consumerBanking 文件夹。你将看到有一个 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/maven-v4_0_0.xsd">
      <modelVersion>4.0.0</modelVersion>
      <groupId>com.companyname.bank</groupId>
      <artifactId>consumerBanking</artifactId>
      <packaging>jar</packaging>
      <version>1.0-SNAPSHOT</version>
      <name>consumerBanking</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>
    </project>

    从以上 xml代码中,可知 Maven 已经添加了 JUnit 作为测试框架。

    默认情况下 Maven 添加了一个源码文件 C:MVNconsumerBankingsrcmainjavacomcompanynameankApp.java 和一个测试文件 C:MVNconsumerBankingsrc estjavacomcompanynameankAppTest.java

    打开命令控制台,跳转到 C:MVNconsumerBanking 目录下,并执行以下 mvn 命令开始构建项目:

    C:MVNconsumerBanking>mvn clean package
    [INFO] Scanning for projects...
    [INFO] -------------------------------------------------------------------
    [INFO] Building consumerBanking
    [INFO]    task-segment: [clean, package]
    [INFO] -------------------------------------------------------------------
    [INFO] [clean:clean {execution: default-clean}]
    [INFO] Deleting directory C:MVNconsumerBanking	arget
    ...
    ...
    ...
    [INFO] [jar:jar {execution: default-jar}]
    [INFO] Building jar: C:MVNconsumerBanking	arget
    consumerBanking-1.0-SNAPSHOT.jar
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2 seconds
    [INFO] Finished at: Tue Jul 10 16:52:18 IST 2012
    [INFO] Final Memory: 16M/89M
    [INFO] -------------------------

    执行完后,我们已经构建了自己的项目并创建了最终的 jar 文件,下面是要学习的关键概念:

    • 我们给了 maven 两个目标,首先清理目标目录(clean),然后打包项目构建的输出为 jar(package)文件。
    • 打包好的 jar 文件可以在 consumerBanking arget 中获得,名称为 consumerBanking-1.0-SNAPSHOT.jar。
    • 测试报告存放在 consumerBanking argetsurefire-reports 文件夹中。
    • Maven 编译源码文件,以及测试源码文件。
    • 接着 Maven 运行测试用例。
    • 最后 Maven 创建项目包。
    C:MVNconsumerBanking	argetclasses>java com.companyname.bank.App

    你可以看到结果:

    Hello World!

    添加 Java 源文件

    接下来我们看看如何添加其他的 Java 文件到项目中。打开 C:MVNconsumerBankingsrcmainjavacomcompanynameank 文件夹,在其中创建 Util 类 Util.java。

    package com.companyname.bank;
     
    public class Util 
    {
       public static void printMessage(String message){
           System.out.println(message);
       }
    }

    更新 App 类来使用 Util 类:

    package com.companyname.bank;
     
    /**
     * Hello world!
     *
     */
    public class App 
    {
        public static void main( String[] args )
        {
            Util.printMessage("Hello World!");
        }
    }

    现在打开命令控制台,跳转到 C:MVNconsumerBanking 目录下,并执行下面的 mvn 命令。

    C:MVNconsumerBanking>mvn clean compile

    在 Maven 构建成功之后,跳转到 C:MVNconsumerBanking argetclasses 目录下,并执行下面的 java 命令。

    C:MVNconsumerBanking	argetclasses>java -cp . com.companyname.bank.App

    你可以看到结果:

    Hello World!

    总结:全文来自https://www.runoob.com/maven/maven-build-test-project.html的几个章节,这里全部放在一起进行学习。
    以下是命令总结:
    构建项目:
    mvn archetype:generate -DgroupId=com.companyname.bank -DartifactId=consumerBanking -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

    参数说明:

    • -DgourpId: 组织名,公司网址的反写 + 项目名称
    • -DartifactId: 项目名-模块名
    • -DarchetypeArtifactId: 指定 ArchetypeId,maven-archetype-quickstart,创建一个简单的 Java 应用
    • -DinteractiveMode: 是否使用交互模式

    到项目目录下构建项目【理解:生成target的过程】:

    mvn clean package

    测试【到target/classes/下测试...../App】:

    java com.companyname.bank.App

    在重新编写java后,编译:

    mvn clean compile

    在重新编译后,执行:

    java -cp . com.companyname.bank.App

    ****构建项目模板:

    mvn archetype:generate

    根据提示输入,或参考:https://www.runoob.com/maven/project-templates.html

     生成项目文档【在该项目目录下执行】:

    mvn site

     生成javaweb项目:

    mvn archetype:generate -DgroupId=com.companyname.automobile -DartifactId=trucks -DarchetypeArtifactId=maven-archetype-webapp  -DinteractiveMode=false

     需要注意的是,当文件发生修改时,都要记得在该项目下mvn clean package

  • 相关阅读:
    nyoj-707-A Simple Problem
    nyoj-290-动物统计加强版
    nyoj-27-水池数目
    nyoj-92-图像有用区域
    nyoj-82-迷宫寻宝(一)
    nyoj-289-苹果
    nyoj-311-完全背包
    Docker: docker network 容器网络
    Docker: docker container常用命令实战(2)-数据持久化
    Docker: docker container常用命令实战
  • 原文地址:https://www.cnblogs.com/ciscolee/p/11133303.html
Copyright © 2020-2023  润新知