zoukankan      html  css  js  c++  java
  • Maven项目优势

    一、认识maven?

    1、maven常用标签的作用?
    groupid和artifactId被统称为“坐标”是为了保证项目唯一性而提出的,如果你要把你项目弄到maven本地仓库去,你想要找到你的项目就必须根据这两个id去查找。
    groupId一般分为多个段,这里我只说两段,第一段为域,第二段为公司名称。域又分为org、com、cn等等许多,其中org为非营利组织,com为商业组织。
    举个apache公司的tomcat项目例子:这个项目的groupId是org.apache,它的域是org(因为tomcat是非营利项目),公司名称是apache,artigactId是tomcat。
    2、maven如何排除项目?
       <dependency>
          <groupId>com.cc.maven</groupId>
          <artifactId>project-b</artifactId>
          <version>1.0.0</version>
          <exclusions>
                <exclusion>
                 <groupId>com.cc.maven</groupId>
                  <artifactId>project-c</artifactId>
                </exclusion>
          </exclusions>
      </dependency>
    
     

    二、maven如何实现逆向工程?

    1、在pom.xml增加mybatis-generator插件,版本:1.3.5
    <build>
        <!--添加mybatis-generator的maven插件-->
        <plugins>
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <version>1.3.5</version>
                <configuration>
                    <verbose>true</verbose>
                    <overwrite>true</overwrite>
                </configuration>
            </plugin>
        </plugins>
    </build>
    

     2、在资源目录下添加配置文件generatorConfig.xml

    (1)在POM.XML文件中加入如下属性

    <properties>
            <!-- MyBatis Generator -->
            <!-- Java接口和实体类 -->
            <targetJavaProject>${basedir}/src/main/java</targetJavaProject>
            <targetMapperPackage>com.ishop.mapper</targetMapperPackage>
            <targetModelPackage>com.ishop.entity</targetModelPackage>
            <!-- XML生成路径 -->
            <targetResourcesProject>${basedir}/src/main/resources</targetResourcesProject>
            <targetXMLPackage>mapper</targetXMLPackage>
    </properties>
    

     (2)新建配置文件generatorConfig.xml

    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE generatorConfiguration
            PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
            "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
    <generatorConfiguration>
        <!--配置参考地址:http://www.mybatis.org/generator/configreference/xmlconfig.html-->
        <!--配置参考地址http://blog.csdn.net/pk490525/article/details/16819307-->
        <!--配置参考:http://blog.csdn.net/lirui874125/article/details/49589563-->
        <!--配置参考:http://www.jianshu.com/p/e09d2370b796-->
    
    
        <!-- 引入配置文件 -->
        <!--<properties resource="init.properties"/>-->
        <!-- 指定数据连接驱动jar地址 -->
        <!-- <classPathEntry location="/Program Files/IBM/SQLLIB/java/db2java.zip" />-->
    
        <!--
        context:生成一组对象的环境
        id:必选,上下文id,用于在生成错误时提示
        defaultModelType:指定生成对象的样式
            1,conditional:类似hierarchical;
            2,flat:所有内容(主键,blob)等全部生成在一个对象中;
            3,hierarchical:主键生成一个XXKey对象(key class),Blob等单独生成一个对象,其他简单属性在一个对象中(record class)
        targetRuntime:
            1,MyBatis3:默认的值,生成基于MyBatis3.x以上版本的内容,包括XXXBySample;
            2,MyBatis3Simple:类似MyBatis3,只是不生成XXXBySample;
        introspectedColumnImpl:类全限定名,用于扩展MBG
    -->
    
        <context id="Mysql" targetRuntime="MyBatis3Simple" defaultModelType="flat">
            <property name="beginningDelimiter" value="`"/>
            <property name="endingDelimiter" value="`"/>
            <property name="mergeable" value="false"/>
            <!--https://mapperhelper.github.io/docs/3.usembg/,自动生成代码的通用mapper插件-->
            <plugin type="tk.mybatis.mapper.generator.MapperPlugin">
                <property name="mappers" value="tk.mybatis.mapper.common.Mapper"/>
                <!-- caseSensitive默认false,当数据库表名区分大小写时,可以将该属性设置为true -->
                <!-- <property name="caseSensitive" value="true"/>-->
            </plugin>
            <!-- 注释 -->
            <commentGenerator>
                <!-- 是否取消自动生成的注释 -->
                <!--<property name="suppressAllComments" value="false"/>-->
                <!-- 是否生成注释代时间戳-->
                <!-- <property name="suppressDate" value="true" />-->
            </commentGenerator>
    
            <jdbcConnection driverClass="com.mysql.jdbc.Driver"
                            connectionURL="jdbc:mysql://192.168.168.5:3306/coc?useUnicode=true&characterEncoding=utf-8&"
                            userId="root"
                            password="YiFei2020">
                <!-- 针对mysql数据库 -->
                <property name="useInformationSchema" value="true"/>
            </jdbcConnection>
    
            <!-- 类型转换 -->
            <javaTypeResolver>
                <!-- 是否使用bigDecimal, false可自动转化以下类型(Long, Integer, Short, etc.) -->
                <!--<property name="forceBigDecimals" value="false" />-->
            </javaTypeResolver>
    
            <!-- 生成实体类地址 -->
            <javaModelGenerator targetPackage="${targetModelPackage}" targetProject="${targetJavaProject}">
                <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
                <!--<property name="enableSubPackages" value="true" />-->
                <!-- 是否针对string类型的字段在set的时候进行trim调用 -->
                <!--<property name="trimStrings" value="true" />-->
            </javaModelGenerator>
    
            <!-- 生成mapxml文件 -->
            <sqlMapGenerator targetPackage="${targetXMLPackage}" targetProject="${targetResourcesProject}">
                <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
                <!-- <property name="enableSubPackages" value="true" />-->
            </sqlMapGenerator>
    
            <!-- 生成mapxml对应client,也就是接口dao -->
            <javaClientGenerator type="XMLMAPPER" targetPackage="${targetMapperPackage}"
                                 targetProject="${targetJavaProject}">
                <!-- 是否在当前路径下新加一层schema,eg:fase路径com.oop.eksp.user.model, true:com.oop.eksp.user.model.[schemaName] -->
                <!--<property name="enableSubPackages" value="true" />-->
            </javaClientGenerator>
    
            <!-- 配置表信息 -->
            <!-- schema即为数据库名 tableName为对应的数据库表 domainObjectName是要生成的实体类 enable*ByExample
                    是否生成 example类   -->
            <!--<table schema="jack" tableName="ALLTYPES" domainObjectName="Customer" >-->
            <!-- <property name="useActualColumnNames" value="true"/>
             <generatedKey column="ID" sqlStatement="DB2" identity="true" />
             <columnOverride column="DATE_FIELD" property="startDate" />-->
            <!-- 忽略列,不生成bean 字段 -->
            <!--<ignoreColumn column="FRED" />-->
            <!-- 指定列的java数据类型 -->
            <!-- <columnOverride column="LONG_VARCHAR_FIELD" jdbcType="VARCHAR" />-->
            <!-- </table>-->
            <table tableName="activity_user_cert_info" domainObjectName="activity_user_cert_info"/>
        </context>
    </generatorConfiguration>
    

    三、maven如何构建打包项目?

      1、在pom文件添加如下:

    <build>
        <plugins>
           <plugin>
                    <groupId>org.apache.maven.plugins</groupId>
                    <artifactId>maven-compiler-plugin</artifactId>
                    <configuration>
                        <source>1.8</source>
                        <target>1.8</target>
                    </configuration>
           </plugin>
        </plugins>
    </build>

      2、在idea右侧边栏找到maven-找到要打包的项目-找到lifeCycle-找到package按钮-点击打包-在根目录下找到打好的jar包。

    四、maven访问私服仓库?

    <repositories>
      <repository>
        <id>maven-nexus</id>
          <url>
    http://127.0.0.1:8081/repository/maven-public/
    </url>
    <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>

     五、maven如何配置本地仓库和中央仓库?

    <localRepository>D:pathRepository</localRepository>
  • 相关阅读:
    IDEA 编译时 未结束的字符串文字
    JAVA文件下载,页面显示另存为效果
    no matching key exchange method found. Their offer: diffie-hellman-group1-sha1
    【转】修改LINUX时间
    【转】tomcat7性能调优
    【转】Nginx中upstream有以下几种方式:
    【转】tomcat性能调优
    【转】Memcached安装
    【转】 linux下的g++编译器安装
    【转】nginx+tomcat+memcached (msm)实现 session同步复制
  • 原文地址:https://www.cnblogs.com/772933011qq/p/13528330.html
Copyright © 2011-2022 走看看