您当前的位置: 首页 >  maven

liaowenxiong

暂无认证

  • 2浏览

    0关注

    1171博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Maven项目的pom.xml文件详解

liaowenxiong 发布时间:2022-01-19 21:46:00 ,浏览量:2

文章目录
  • pom.xml文件解读
  • 标签 dependency 的解读

pom.xml文件解读

    
    
        
        
        
        
        
        
        
        
    
    
    4.0.0
    
    cn.erhuowang
    
    erhuowang-maven2
    
    war
    
    1.0-SNAPSHOT
    
    erhuo-maven
    
    http://erhuowang.cn
    
    A maven project to study maven.
    
    
        
        
    
    
    
        
        erhuowang
        
        http://erhuowang.cn
    
    
    
        
        
        
        
        
        
            
            
                
                
                
                
                
                
                
                
                
                
                
                
                
                
            
        
    
    
    
    
    
        
        
            
            Demo
            
            chaibozhou@163.com
            
            chaibozhou@163.com
            
            chaibozhou@163.com
            
            chaibozhou@163.com
        
    
    
    
        
        
            
            HELLO WORLD
            
            chaimm
            
            chaibozhou@163.com
            
            
            
            
                Project Manager
                Architect
            
            
            demo
            
            http://erhuowang.cn
            
            
                No
            
            
            -5
        
    
    
    
        
        
            
        
    
    
    
        
        
            
            Apache 2
            
            http://www.baidu.com/erhuwoang/LICENSE-2.0.txt
            
            repo
            
            A business-friendly OSS license
        
    
    
    
        
        
            scm:svn:http://svn.baidu.com/banseon/maven/banseon/banseon-maven2-trunk(dao-trunk)
        
        
        
            scm:svn:http://svn.baidu.com/banseon/maven/banseon/dao-trunk
        
        
        
        
        http://svn.baidu.com/banseon
    
    
    
        
        demo
        
        http://www.erhuowang.cn
    
    
    
        
        
        
        
        
        
        
        
        
        
        
        
            
            
                
                
                
                
                
                
            
        
        
        
        
        
            
            
                
                
                
                
                
                
                
                
                
                
            
        
        
        
            
            
                
            
        
        
        
        
        
        
        
        
        
            
            
                
                
                    
                    
                    
                    
                    
                    
                    
                    
                    
                    
                        
                        
                            
                            
                            
                            
                            
                            
                            
                            
                            
                            
                        
                    
                    
                    
                        
                        
                            ......
                        
                    
                    
                    
                    
                    
                
            
        
        
        
            
            
                
                
                    
                        
                    
                
                
                    
                    
                        ......
                    
                
                
            
        
    
    
    
        
        
            
            
            
            
                
                
                
                
                
                
                    
                    Windows XP
                    
                    Windows
                    
                    x86
                    
                    5.1.2600
                
                
                
                    
                    mavenVersion
                    
                    2.0.3
                
                
                
                    
                    /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
                    
                    /usr/local/hudson/hudson-home/jobs/maven-guide-zh-to-production/workspace/
                
            
            
            
                
                
                    
                        
                    
                
                
                    
                        
                    
                
                
                
                    
                        
                        
                            
                            
                                
                                    
                                
                            
                            
                                
                                
                                    ......
                                
                            
                            
                        
                    
                
                
                    
                    
                        
                        
                            
                                
                            
                        
                        
                            
                            
                                ......
                            
                        
                        
                    
                
            
            
            
            
            
                
                
                    
                        
                    
                    
                        
                    
                    
                
            
            
            
                
                
                    
                        
                    
                    
                        
                    
                    
                
            
            
            
                
                
                    ......
                
            
            
            
            
            
                ......
            
            
            
                
                    
                    
                        ......
                    
                
            
            
            
                ......
            
            
            
        
    
    
    
    
    
        
        
            
            
                
                
                
                
                
                
            
            
            
                
            
            
            banseon-repository-proxy
            
            banseon-repository-proxy
            
            http://192.168.1.169:9999/repository/
            
            default
        
    
    
    
        
        
            ......
        
    

    
    
        
            
            org.apache.maven
            
            maven-artifact
            
            3.8.1
            
            jar
            
            
            
            test
            
            
            
            
                
                    spring-core
                    org.springframework
                
            
            
            true
        
    
    
    
    
    
        
        
        
        
        
        
            
            
                
                
                
                
                
                
                
                
                
                
                
                
                    
                    
                        
                        
                        
                        
                        
                        
                        
                        
                    
                
            
        
    
    
    
        
            
            
                ......
            
        
    
    
    
        
        
            
            
            banseon-maven2
            banseon maven2
            file://${basedir}/target/deploy
            
        
        
        
            
            banseon-maven2
            Banseon-maven2 Snapshot Repository
            scp://svn.baidu.com/banseon:/usr/local/maven-snapshot
            
        
        
        
            
            banseon-site
            
            business api website
            
            
                scp://svn.baidu.com/banseon:/var/www/localhost/banseon-web
            
        
        
        
        
        
            
            
            
            
            
            
            
            
        
        
        
    
    
    

标签 dependency 的解读

该标签会让Maven自动到本地仓库或远程仓库去查找构件,找到后会自动创建项目级别的资源库,然后会将资源库同步到依赖此构件的模块的classpath中,也就是模块的依赖库中,如下图所示: 在这里插入图片描述 classpath 就是类路径,作为编辑器的输入参数,这个参数指定了很多的路径,就是告诉编译器到指定的路径下去查找需要的类文件。

这些项目引入的依赖资源(构件)都是通过 Maven 发布到本地的 Maven 仓库中的,可以是 class 文件也可以是 java 源代码文件。

当构建项目时(也就是编译项目),会到 classpath 指定的路径下查找需要的类文件,如果是源文件会自动编译成 class 文件。

依赖库也好,资源库也罢,其实都只是存储着类文件的实际路径而已。

当你在运行代码时,比如测试某个方法时,会先构建项目(编译项目),IDEA 就会去运行编译指令,并将 classpath 作为参数传给指令,参数 classpath 指定了很多路径,告诉编译器要找关联类文件时就到这些路径下去查找。

IDEA 在编译Java源文件时,其实就是去执行了下面的命令:

javac -classpath path1:path2:path3 -d /Users/liaowenxiong/Documents/IdeaProjects/struts2-tag/target/classes *.java
关注
打赏
1661566967
查看更多评论
立即登录/注册

微信扫码登录

0.0537s