一周Maven框架学习随笔

第一次写博客,可能写得不是很好,但是希望自己持之以恒,以后会更好。也希望通过写博客记录随笔,让自己本身有所收获。

下面是今天的maven总结:

maven个人理解中是Maven项目对象模型(POM),可以通过一小段描述信息来管理项目的构建,报告和文档的软件项目管理工具。


   网址:   mvnrepository      //maven仓库网站!

下面是maven一些基本知识点,是这个星期学习maven所做的随笔。


<scope>text</scope>  <!-- test范围指的是测试范围有效,在编译和打包时都不会使用这个依赖-->
<scope>runtime</scope> <!--runtime在运行的时候依赖,在编译的时候不依赖 -->
<scope>compile</scope>    <!-- compile范围指的是编译范围有效,在编译和打包时都会将依赖存储进去-->
<scope>provide</scope>    <!-- 在编译和测试的过程有效,最后生成war包时不会加入,诸如:servlet-api,因为servlet-api,tomcat等web服务器已经存在了,如果再打包会冲突-->

<dependencies>
    <dependency>
        <groupId>~~~</groupId>
        <artifactId>~~~</artifactId>
        <version>~~~</version>
            <exclusions>
                <exclusion>
                    <!--可以排除依赖-->
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                </exclusion>
            </exclusions>

    </dependency>
</dependencies>

新建一个maven项目,选择pom 包 .整个项目中只有pom..目的是为了   将不同的包 打包。 聚合操作!!
<!--导入了三个模块-->
<modules>    //modules   模块
<module>../user-core</module>
<module>../user-log</module>
<module>../user-service</module>
</modules>

maven中的继承:
        <parent>
            <groupId>zttc.itat.user</groupId>
            <artifactId>user-parent</artifactId>  //user-parent是已经建好的maven项目
            <version>0.0.1-SNAPSHOT</version>
            <relativePath>../user-parent/pom.xml</relativePath>//相对路径  -- 个人:既然是继承,那就要说明是继承哪个pom.xml的数据。
        </parent>

<dependencyManagement>      //然后那些已经继承父类的子类,就可以不用写<version></version> 版本之类的了
加入依赖组件

</dependencyManagement>

可聚合和继承混合一起。  在继承父类中加入聚合!!

设置我们的工厂,下载一次,以后做项目直接在自己的工厂下载,而且本机速度快        //下面这种方式比较麻烦。可以采取group类型,也就是public Respositories 工厂,添加好几个工厂,然后再拷贝它的路径添加在url
        // 激活生效profile中的设置以后,就可以不用这个设置工厂
        <repositories>
        <repository>        
        <id>nexus</id>        
        <name>Nexus Repository</name>
        <url>~~~</url>   //地址直接剪切nexus中工厂的地址。如http://localhost:8081/nexus/content/repositories/centeral
        </repository>
        
                //如果再加一个工厂的话,直接加<repository>
        </repositories>

        //在maven包中的setting.xml文件设置  
        <profile>        
        <id>nexusRepo</id>
        <repositories>
        <repository>        
        <id>nexus</id>        
        <name>Nexus Repository</name>
        <url>~~~</url>  
        <release>
        <enable>true</enable>  //默认设置可以下载release包    
        </release>
        <snapshots>
        <enable>true</enable>  //<!--snapshots默认是关闭的,需要手动开启-->
        </snapshots>

        </repository>
        </profile>
        </profiles>
        </repositories>
        <activeProfiles>
        <activeProfile>nexusRepo</activeProfile>   //激活我们的profile文件设置。 名字就是上面的id  只有激活才生效
        </activeProfiles>        
                
        
        //设置镜像,要求*工厂只由我们的私服来访问,而不用其他方式来访问,可以所有的工厂镜像到一个地址来访问!
        <!--工厂的镜像   只要MirrorOf中的工厂要访问,都会自动来找镜像,如果镜像无法访问就不会再去*工厂了-->
        <mirror>
        <id>nexusMirror</id>
        <mirrorOf>*</mirrorOf>   //*表示所有的工厂都用着镜像网络!这是推荐的做法
        <name></name>
        <url></url>
        </mirror>        

        //如果设置了镜像了以后,就不用再去激活那个了。所以更改为
        <activeProfiles>
        <activeProfile></activeProfile>   
        </activeProfiles>   

  在nexus中发布项目:

  <distributionManagement>

  <repository>

  <id>~~</id>  //nexus中允许发布的user 的id 这个要确定。也同时需要添加配置<server><id>要发布的项目的user 的id</id><username>~~</username><password>~~</password></server>

  <name>~~<name>

  <url>~~</url>//想要发布到的工厂的url地址

  </repository>

  <!--若配置的是snapshot版本的话则要加上-->

  //<snapshotRepository><id></id><name></name><url></url></snapshotRepository>

  </distributionManagement>

  

上一篇:ubuntu thinkphp pathinfo 404等问题


下一篇:PHP中cURL的应用