maven是怎么判断包在本地仓库和远程仓库哪个是新的

maven是怎么判断包在本地仓库和远程仓库哪个是新的,第1张

maven对构件的更新判断基本上是两种,一种是稳定版本,一种是maven特有的SNAPSHOT版本。

稳定版本很好判断,直接根据maven构件的坐标体系就能够获得。先从本地仓库中找,如果本地仓库没有,就从pom.xml和setting.xml配置的远程仓库来找。

SNAPSHOT版本的判断比较麻烦,基本步骤如下:

假设我在2014年08月22日09时40分52秒在我自己的电脑上使用 “mvn install” 构建了“com.mycompany.demo:test:1.0-SNAPSHOT”。

那么Maven会在本地仓库目录“~/.m2/com/mycompany/demo/test/1.0-SNAPSHOT/”下生成文件“maven-metadata-local.xml”,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<metadata modelVersion="1.1.0">

<groupId>com.mycompany.demo</groupId>

<artifactId>test</artifactId>

<version>1.0-SNAPSHOT</version>

<versioning>

<snapshot>

<localCopy>true</localCopy>

</snapshot>

<lastUpdated>20140822084052</lastUpdated>

<snapshotVersions>

<snapshotVersion>

<extension>jar</extension>

<value>1.0-SNAPSHOT</value>

<updated>20140822084052</updated>

</snapshotVersion>

<snapshotVersion>

<extension>pom</extension>

<value>1.0-SNAPSHOT</value>

<updated>20140822084052</updated>

</snapshotVersion>

</snapshotVersions>

</versioning>

</metadata>

十点钟的时候,其他同事更新了com.mycompany.demo:test:1.0-SNAPSHOT的内容,并通过 "mvn deploy" 发布到了公司的Maven服务器上。

公司Maven服务器上产生了文件:

test-1.0-20140822.100021-1.jar

test-1.0-20140822.100021-1.pom

并更新了maven-metadata.xml,内容如下:

<?xml version="1.0" encoding="UTF-8"?>

<metadata modelVersion="1.1.0">

<groupId>com.mycompany.demo</groupId>

<artifactId>test</artifactId>

<version>1.0-SNAPSHOT</version>

<versioning>

<snapshot>

<timestamp>20140822.100021</timestamp>

<buildNumber>34</buildNumber>

</snapshot>

<lastUpdated>20140822100021</lastUpdated>

<snapshotVersions>

<snapshotVersion>

<extension>jar</extension>

<value>1.0-20140822.100021-1</value>

<updated>20140822100021</updated>

</snapshotVersion>

<snapshotVersion>

<extension>pom</extension>

<value>1.0-20140822.100021-1</value>

<updated>20130407081828</updated>

</snapshotVersion>

</versioning>

</metadata>

因为Maven遵循的是规约比配置重要的原则,所以Maven项目的结构一般是进入目录后是一个pom.xml文件和一个src文件夹,当然可能还存在一些README之类的这些都不重要,最关键的就是pom.xml和src文件夹,在src下,src/main/java一般就是放置的项目的源代码,在src/test/java下放置的是测试代码。

打开Eclipse,当然在做导入工作之前,首先确保你已经安装了Maven并且已经在Eclipse中加入了Maven得插件。

确保上面的安装工作已经进行过后,在Eclipse中点击"File"->Import->Maven

tomcat中404异常是没有找到请求的资源。

错误原因如下:

1、路径错误

2、web.xml文件映射路径写错

3、服务器设置

4、servlet的jar包未导进去或者没有随项目发布

如果是路径错误,仔细检查即可解决问题。

服务器没设置好也会报这个错误,这一般是新手刚开始学时遇到的问题,就是要把eclipse中的tomcat的server location设置为use tomcat installation,在eclipse界面双击tomcat server见如图设置:


欢迎分享,转载请注明来源:夏雨云

原文地址:https://www.xiayuyun.com/zonghe/279819.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-21
下一篇2023-04-21

发表评论

登录后才能评论

评论列表(0条)

    保存