zoukankan      html  css  js  c++  java
  • 一】Maven入门

    一、简单pom.xml配置文件解析
      

    <?xml version="1.0" encoding = "utf-8"?>
      <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.ccst.mvnbook</groupId>
        <artifactId>hello-world</artifactId>
        <version>1.0-SNAPSHOT</version>
        <name>Maven Hello World Project</name>
      </project>


    解析:
      modelVersion: maven2~maven3 默认版本为4.0.0
      groupId: 公司的Id
      artifactId: 项目Id
      version: 项目版本。 SNAPSHOT:不稳定版本。
      name: 项目名称的详细描述。

    二、项目代码编写
      一】项目代码
        1)项目主代码默认位置: src/main/java/目录下
        2)类包名一般与pom.xml相关。eg: com.ccst.mvnbook.helloword
      二】编译项目
        1)命令: mvn clean compile.
        2)编译输出目录: target
        3)mvn内部过程:
          clean --> resources --> compiler
            clean: 删除target/目录
            resources:(略)
            compiler: 编译项目,生成.class文件。【输出到 target/classes目录】

    三、maven测试


      一】项目代码默认位置: src/test/java/ 目录下
        编译命令: mvn test

      二】配额xml文件:
        1)需要添加依赖.
        2)需要重新指定Maven的核心插件compiler所支持的java版本。默认只支持java1.3版本。
          

    <?xml version="1.0" encoding = "utf-8"?>
          <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.ccst.mvnbook</groupId>
            <artifactId>hello-world</artifactId>
            <version>1.0-SNAPSHOT</version>
            <name>Maven Hello World Project</name>
           <dependencies>
              <dependency>
                <groupId>junit</groupId>
                <artifactId>junit</artifactId>
                <version>4.7</version>
                <scope>test</scope>
              </dependency>
           </dependencies>
          <build>
              <plugins>
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-compiler-plugin</artifactId>
                  <configuration>
                    <source>1.5</source>
                    <target>1.5</target>
                  </configuration>
                </plugin>
              </plugins>
          </build>
        </project>
    

      

    四、打包项目
      一】默认打包为.jar文件
        打包命令:mvn package
      二】默认打包的项目是不能运行的
        META-INF/MANIFAST.MF中无main()方法信息,
        需要借助maven-shade-plugin插件。
        配置xml:

         <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>1.2.1</version>
            <executions>
              <execution>
                <phase>package</phase>
                <goals>
                  <goal>shade</goal>
                </goals>
                <configuration>
                  <transformers>
                    <transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
                    <mainClass>com.ccst.mvnbook.helloworld.HelloWorld</mainClass>
                    </transformer>
                  </transformers>
                </configuration>
              </execution>
           </executions>
        </plugin>
    

      

    五、安装项目
      一】会将该项目的jar包安装到本地Maven仓库中,所以所有的Maven项目都能使用此jar包。
        命令:mvn install

    六、Maven命令的执行过程 (后面的命令执行时都必须先执行其前面的命令)
        compiler --> test --> package --> install

    七、使用Archetype方便的生成Maven项目骨架
        命令:mvn archetype:generate

    八、eclipse中使用Maven(略)
      一】导入Maven项目
      二】创建Maven项目
      三】运行Maven命令

  • 相关阅读:
    Comet OJ
    Comet OJ
    Comet OJ
    Comet OJ
    Codeforces Round #562 (Div. 2)
    P1202 USACO1.1 黑色星期五
    P1201 USACO1.1 贪婪的送礼者
    【线段树】HDU1166:敌兵布阵
    标准C++中的string类的用法总结(转)
    【递归】分形
  • 原文地址:https://www.cnblogs.com/SkyGood/p/4223192.html
Copyright © 2011-2022 走看看