`

Maven pom.xml添加jar文件,坐标值该怎么写?

 
阅读更多
一、坐标是Maven最基本的概念,Maven的很多其他核心机制都依赖于坐标,其中最显著的就是仓库和依赖管理。对于仓库来说,有了坐标就知道在什么位置存储构件的内容。
例如junit:junit:4.8.2 就对应仓库中的路径/junit/junit/4.8.2/junit-4.8.2.pom和/junit/junit/4.8.2/junit-4.8.2.jar。这里第一个junit是groupId,第二个junit是artifactId,4.8.2是version。


二、问题:对于初学者或刚使用maven的技术人员来说,若想在pom.xml中添加一个包依赖,groupId和artifactId 坐标该怎么写,都是无从下手,甚至随便写一个,这样,在保存pom.xml时,maven会自动的从中央仓库下载对应的jar文件,结果都是下载失败,根本下载不下来,原因很简单,因为根据你所写的坐标(groupId,artifactId,version),根本找不到对应的jar文件。这个问题,想了很久,终于找到解决方法了。

三、查找正确的jar文件坐标
如:项目中需要添加XmlSchema-1.4.3.jar
步骤:1、访问maven中央仓库:http://mvnrepository.com(或者访问:http://grepcode.com/) 在搜索框中输入XmlSchema 结果会显示,jar文件对应的具体坐标
      2、将坐标,配置到pom.xml即可,这时,maven会成功下载对应的jar.

搜索结果:
Maven-Central / org.apache.ws.commons.schema / XmlSchema / [1.4.6] 1.4.7 [SNASHOT - 1.4.7] 

org.apache.ws.commons.schema 对应的是groupId
XmlSchema 对应的是artifactId
1.4.7 对应的是版本号version


<dependency>
   <groupId>org.apache.ws.commons.schema</groupId>
   <artifactId>XmlSchema</artifactId>
   <version>1.4.7</version>
</dependency>

若随便写成:
<dependency>
   <groupId>org.apache.ws</groupId>
   <artifactId>XmlSchema</artifactId>
   <version>1.4.7</version>
</dependency>
则maven 是下载不成功的。


四、配置完对应的坐标后,部署项目时,会莫名其妙的出现一些其他的jar文件,这些并没有在pom.xml中配置,从哪来的呢?怎么去掉呢?
方法一: 部署完后,在对应服务器项目中手动删除(如:tomcat),这个特麻烦,每次部署都要删除。若多出的jar,对项目启动没有影响,则可以不删除,若对项目启动报错,则必须删除。

方法二: 第一、在pom.xml中,找出由哪个jar文件加载时,关联出来多余的jar文件。第二、修改pom.xml。
修改前:(neethi-3.0.1.jar中会关联出woodstox-core-asl-4.0.8.jar,需要打开neethi.jar就知道了,添加节点<exclusions> 写上具体需要过虑的jar,指定groupId,artifactId即可)
<dependency>
	<groupId>org.apache.neethi</groupId>
	<artifactId>neethi</artifactId>
        <version>3.0.1</version>
</dependency>

修改后:
<dependency>
	<groupId>org.apache.neethi</groupId>
	<artifactId>neethi</artifactId>
        <version>3.0.1</version>
	<exclusions>
	  <exclusion>
	    <groupId>org.codehaus.woodstox</groupId>
	    <artifactId>woodstox-core-asl</artifactId>
	    <version>4.0.8</version>
	  </exclusion>
        </exclusions>
</dependency>

这时,项目部署后,woodstox-core-asl-4.0.8.jar,将不会出现了。



五、父项目与子项目,配置jar依赖关系
1、父项目,主要是配置全局的jar,指定对应的版本号。
2、子项目,若需要使用jar文件,则只要指定groupId/artifactId即可。不需要写版本号。减少jar冲突的可能。

五、希望对你们有帮助,若有不明白的地方,可以随时QQ联系 251693481
分享到:
评论

相关推荐

    Maven pom.xml与settings.xml详解

    在Maven的世界里,`pom.xml`和`settings.xml`是两个至关重要的配置文件,它们共同决定了Maven项目的构建过程和环境配置。`pom.xml`(Project Object Model)文件是每个Maven项目的核心,它包含了项目的基本信息、...

    Maven build之pom.xml文件中的Build配置

    Maven通过一个叫做pom.xml的项目对象模型文件来配置项目构建的各个方面,其中标签是Maven构建配置的核心部分,它定义了整个构建生命周期中需要执行的指令和任务。 Maven构建包括编译代码、执行测试、打包以及部署等...

    ojdbc5.jar ojdbc6.jar maven安装以及pom.xml配置说明

    对于ojdbc6.jar的Maven配置,我们需要在pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;com.oracle.ojdbc&lt;/groupId&gt; &lt;artifactId&gt;ojdbc6 &lt;version&gt;12.2.0.1 &lt;scope&gt;runtime ``` 在这个配置中,`groupId`...

    maven项目pom.xml中parent标签的使用.docx

    这时可以在 parent 项目的 pom 文件中使用 `&lt;dependencyManagement&gt;` 将 springmvc.jar 管理起来,如果有哪个子项目要用,那么子项目在自己的 pom 文件中使用 `&lt;dependency&gt;` 标签中写上 springmvc.jar 的坐标,不...

    Maven_pom.xml常用配置解析

    Maven 项目对象模型(POM)是 Maven 的核心概念,它是 Maven 项目的描述文件,用于定义项目的坐标、依赖关系、编译、打包、测试、部署等过程。pom.xml 文件是 Maven 项目的核心配置文件,用于描述项目的结构、依赖...

    根据pom.xml下载依赖

    当我们说“根据pom.xml下载依赖”,实际上是在指Maven如何通过解析项目中的pom.xml文件来获取并安装项目的依赖库。 pom.xml文件通常位于项目的根目录下,它定义了项目的基本属性,如项目名称、版本、打包类型(如...

    史上最全的maven的pom.xml文件详解

    Maven 项目对象模型(POM)文件详解 Maven 项目对象模型(POM)文件是 Maven 项目的核心配置文件,它定义了项目的结构、依赖关系、构建过程和其他重要信息。在本文中,我们将对 POM 文件的各个元素进行详细解释,并...

    maven中pom.xml基本配置

    在Java开发领域,Maven是一个不可或缺的项目管理工具,它通过使用一个名为pom.xml的配置文件来管理和构建项目。pom.xml文件是Maven项目的灵魂,它包含了项目的元数据,如项目信息、依赖关系、构建配置等。下面我们将...

    java中maven,管理项目依赖,如pom.xml

    Maven通过一个名为`pom.xml`的项目对象模型(Project Object Model)文件,来定义项目的构建规则、依赖关系以及项目的元数据。 **Maven的核心概念** 1. **项目对象模型 (POM)**: `pom.xml`是Maven项目的配置文件,...

    maven项目pom.xml

    maven热部署,常用jar包,maven热部署,jdk版本,全局jar包版本控制,使用方便!!!!

    pom.zip_java maven_pom mainfest java_pom manifest 标签_pom 文件 mani

    总的来说,Maven的`pom.xml`文件不仅管理项目依赖,还能自定义生成的JAR文件的元数据,如通过配置`maven-jar-plugin`来添加或修改Manifest文件。了解这些配置对于理解和维护Maven项目至关重要,特别是在需要创建可...

    基于Maven的pom.xml文件详解

    当我们在子项目的pom.xml文件中指定父项目坐标时,Maven会自动引入父项目中声明的依赖和配置。 接下来,pom.xml文件的模型版本是非常关键的一个部分,它声明了该文件所遵循的POM模型版本。当前Maven 4.0.0版本是最...

    maven下载QRCode.jar包

    假设`QRCode.jar`的Maven坐标为`com.qrcode:qrcode:1.0.0`,在你的项目的`pom.xml`文件中,你可以添加以下依赖: ```xml &lt;groupId&gt;com.qrcode&lt;/groupId&gt; &lt;artifactId&gt;qrcode &lt;version&gt;1.0.0 ``` 添加完...

    jakarta.xml.bind-api-2.3.3-API文档-中文版.zip

    赠送Maven依赖信息文件:jakarta.xml.bind-api-2.3.3.pom; 包含翻译后的API文档:jakarta.xml.bind-api-2.3.3-javadoc-API文档-中文(简体)版.zip; Maven坐标:jakarta.xml.bind:jakarta.xml.bind-api:2.3.3; 标签...

    maven:用于推送pom.xml文件

    POM(Project Object Model)是Maven的核心概念,它是一个XML文件,通常命名为`pom.xml`,包含了项目的基本信息、依赖关系、构建配置等关键元素。在Maven中,`pom.xml`文件扮演着项目配置和构建指令的角色。 1. **...

    超级POM_POM文件总体配置说明.pdf

    POM.xml文件是Maven项目的配置文件,包含了项目的元数据,如项目依赖、构建过程、属性、插件等信息。本文将详细解析POM.xml文件的各个主要元素,帮助开发者理解和掌握其配置要点。 首先,每个POM.xml文件都会声明其...

    Qrcode.jar(直接可以解压到maven本地库中)

    3. 在项目的`pom.xml`文件中添加对应的依赖,例如: ```xml &lt;groupId&gt;com.qrcode&lt;/groupId&gt; &lt;artifactId&gt;qrcode &lt;version&gt;1.0.0 ``` 4. 完成以上步骤后,项目就可以通过`import com.qrcode.*;`来使用`...

    jakarta.xml.bind-api-2.3.2-API文档-中文版.zip

    赠送Maven依赖信息文件:jakarta.xml.bind-api-2.3.2.pom; 包含翻译后的API文档:jakarta.xml.bind-api-2.3.2-javadoc-API文档-中文(简体)版.zip; Maven坐标:jakarta.xml.bind:jakarta.xml.bind-api:2.3.2; 标签...

    maven中pom.xml详细介绍

    Maven是一个广泛使用的Java项目管理工具,它利用了一个名为pom.xml的项目描述文件来管理项目的构建、报告和文档。pom.xml文件是Maven项目的核心,它遵循XML格式,包含了项目构建过程中的各种配置信息。 POM...

Global site tag (gtag.js) - Google Analytics