• maven ZZ学习笔记,讲解的很好


    每家公司都具有自己的仓库
    parent pom
     * 编译检查--检查重复类,重复包
     * 公共依赖  : 每个项目每个人都依赖公司的
     * 必须引用  : 每个项目都引用公司的 parent pom
     (1), 重复包
     Guava 也要依赖第三方,比如guava 15的版本依赖 A 包1.0,然后你自己的项目也间接依赖 A包1.1.此时编译成 war包的时候,你运行期??
     answ : classload 不固定,要看 classload 的加载顺序。运行期,其实有可能出问题,...
     解决方案是 : 将依赖树列出来,有重复的就不让过。


     我们给别人发布jar包的时候,是不能有配置文件的。原因 : 比如你的jar包中有个 配置文件 XXX.xml, 然后用户也有可能有这个 XXX.xml 名字的。
     (2), 重复类
       你将别人(如:guava.jar)包中的 类 用到了,加入到了你自己的jar文件中,你用guava.jar具有这个类
    pom
      gid : 相当于你的
      aid : 
      version :
      scope : 没写默认是compile,-- runtime, compile, provided, test  代表不会 download 到本地。 
       answ : 面向接口编程,编码的时候只需要依赖 API 的包,等 runtime 的时候,实现就加载进来。 
        jdbc 编译的时候,没问题。你是面向接口编程。
        
        API <---- JDBC.jar  接口
                Mysql-Connect.jar 实现
                PG-connect.jar    实现
           runtime 
           compile
           provide 
           test 只能在 test 中引用这个包中的类,在其他目录中是引用不到的。
      servlet-api.jar 与 jdbc 那个例子很像,但是不是 runtime
      tomcat7 实现 servlet3.0
      tomcat6 不能完全支持 servlet3.0, provide 的意思是依赖容易给予提供的包 
      
      抽象出 parent-pom 第一是做管理,第二是做节省大家的重复度
      
      每一个leader都要检查你的 pom.xml 是否符合规范
      
      parent.pom 是 guava 13.0.1, 你想引用 15.0, 那么就类似要 overvide
      
    * dependencies 是你项目真正的依赖
    * properties 是常量
     mvn package -p     
     
  • 相关阅读:
    初始样式
    http://necolas.github.io/normalize.css/
    css3 旋转密码特效
    OpenGL_构建GLFW与第一个程序
    [翻译][HTML]CELLPADDING and CELLSPACING
    Internal Server Error
    字体收集
    Create a site by Google Site
    [转载]HTML5游戏前端开发秘籍
    程序结构(1)
  • 原文地址:https://www.cnblogs.com/robbychan/p/3786795.html
Copyright © 2020-2023  润新知