pom 文件的导包

一、什么是pom文件:

      pom作为项目对象模型。

      通过xml表示maven项目,使用pom.xml来实现。

      主要描述了项目:包括配置文件;开发者需要遵循的规则,缺陷管理系统,组织和licenses,项目的url,项目的依赖性,以及其其他所有的项目相关因素。

PS:maven是pom.xml中的junit是什么意思?

groupId 和artifactId没,不一定一样,这两个结合起来,想一个坐标系一样,知道这两个就好像知道的了 坐标系中哪个点一样,就能知道你用的是哪个jar包了。 一般这两个都是 提供jar的网站提供的。或者是自己 引用的自己的项目的jar包的值。

二、pom文件中各个节点的意思:

     内容来源于:https://blog.csdn.net/LittleGiantWang/article/details/80346948 

1、

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
   4.0.0
   
   asia.banseon
   
   banseon-maven2
   
   jar
   
   1.0-SNAPSHOT
   
   banseon-maven
   
   http://www.baidu.com/banseon
   
   A maven project to study maven.
   
   
       
           HELLO WORLD
           banseon
           [email protected]
           
               Project Manager
               Architect
           

           demo
           http://hi.baidu.com/banseon
           
               No
           

           -5
       

   

   
   
   
   
       
           Demo
           
           [email protected]
           
           [email protected]
           
           [email protected]
           
           http:/hi.baidu.com/banseon/demo/dev/
           

       

   

   
   
       jira
       http://jira.baidu.com/banseon
   

   
   
       demo
       http://www.baidu.com/banseon
   

   
   
       
           Apache 2
           http://www.baidu.com/banseon/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
   

   
   
       
       
           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
           

       

   

   
   
       
           junit
           junit
           3.8.1
           
           test
           
           
       


       
       
           org.acegisecurity
           acegi-security
           1.0.5
           runtime
           
               
                   spring-core
                   org.springframework
               

               
                   spring-support
                   org.springframework
               

               
                   commons-logging
                   commons-logging
               

               
                   spring-jdbc
                   org.springframework
               

               
                   spring-remoting
                   org.springframework
               

           

       

       
           org.springframework
           spring
           2.5.1
           runtime
       

       
           org.springframework
           spring-web
           2.5.1
           runtime
       

       
           postgresql
           postgresql
           8.2-504.jdbc4
           runtime
       

       
           com.oracle
           ojdbc6
           11.1.0.6
           runtime
       

   

   
   
       
           banseon-repository-proxy
           banseon-repository-proxy
           http://192.168.1.169:9999/repository/
           default
       

   

三、 基本分类:
      1、SCM
软件配置管理,如cvs 和svn

xml 代码


   scm:svn:http://127.0.0.1/svn/my-project
   scm:svn:https://127.0.0.1/svn/my-project
   HEAD
   http://127.0.0.1/websvn/my-project
< scm>

2、Repositories

配置同setting.xml中的开发库

Plugin Repositories
配置同 repositories

Distribution Management
用于配置分发管理,配置相应的产品发布信息,主要用于发布,在执行mvn deploy后表示要发布的位置
1 配置到文件系统

xml 代码


< repository>
< id>proficio-repository
< name>Proficio Repository
< url>file://${basedir}/target/deploy
< repository>
< distributionManagement>

2 使用ssh2配置

xml 代码


< repository>
< id>proficio-repository
< name>Proficio Repository
< url>scp://sshserver.yourcompany.com/deploy
< repository>
< distributionManagement>

3 使用sftp配置

xml 代码


< repository>
< id>proficio-repositoryi
< name>Proficio Repository
< url>sftp://ftpserver.yourcompany.com/deploy
< repository>
< distributionManagement>

4 使用外在的ssh配置
   编译扩展用于指定使用wagon外在ssh提供,用于提供你的文件到相应的远程服务器。

xml 代码


< repository>
< id>proficio-repository
< name>Proficio Repository
< url>scpexe://sshserver.yourcompany.com/deploy
< repository>
< distributionManagement>
< build>
< extensions>
< extension>
< groupId>org.apache.maven.wagon
< artifactId>wagon-ssh-external
< version>1.0-alpha-6
< extension>
< extensions>
< build>


5 使用ftp配置

xml 代码


< repository>
< id>proficio-repository
< name>Proficio Repository
< url>ftp://ftpserver.yourcompany.com/deploy
< repository>
< distributionManagement>
< build>
< extensions>
< extension>
< groupId>org.apache.maven.wagongroupId>
< artifactId>wagon-ftpartifactId>
< version>1.0-alpha-6version>
< extension>
< extensions>
< build>


repository 对应于你的开发库,用户信息通过settings.xml中的server取得

Profiles
类似于settings.xml中的profiles,增加了几个元素,如下的样式:

xml 代码


   
     test
     ...
     ...
     ...
     ...
     ...
     ...
     ...r
     ...
     ...
   
< profiles>

四、如何导入本地的jar 并且注入(dependency)到本地pom文件

        project root
        modelVersion - 应被设置为 4.0.0
        groupId - 项目组 id
        artifactId - 项目 id
        version - 项目版本
        一个例子

       
          4.0.0
          com.mycompany.app
          my-app
          1
     

  假如:你需要另一个项目的jar,但你只知道名称,本地仓库里有这个jar,那么你的pom文件应该这么写:

本地环境地址是:D:\LocalMavenRepository\LocalRepository\ch\ethz\ganymed\ganymed-ssh2\262
pom。xml:    
 
      ch.ethz.ganymed  
      ganymed-ssh2 
      262
   

这样引入,你引入的文件就不会报错了。

还有一个特殊的 引包方式:

https://blog.csdn.net/qq_42815754/article/details/83446635


            net.sf.json-lib
            json-lib
            2.4
            jdk15                                
        

你可能感兴趣的:(Java开发)