GVKun编程网logo

Maven 检查存储库中更新的依赖项(检查maven环境)

10

在这里,我们将给大家分享关于Maven检查存储库中更新的依赖项的知识,让您更了解检查maven环境的本质,同时也会涉及到如何更有效地iText最新的Maven依赖项、java–Maven3不会从本地存

在这里,我们将给大家分享关于Maven 检查存储库中更新的依赖项的知识,让您更了解检查maven环境的本质,同时也会涉及到如何更有效地iText最新的Maven依赖项、java – Maven 3不会从本地存储库更新快照依赖项、java – Maven woes:在存储库中找不到maven-clean-plugin、java – Maven构建失败的依赖项的内容。

本文目录一览:

Maven 检查存储库中更新的依赖项(检查maven环境)

Maven 检查存储库中更新的依赖项(检查maven环境)

是否有 Maven 插件可让您检查存储库中是否有更新版本的依赖项可用?

假设您使用的是 1.2 版本的依赖项 X。现在,X 的新版本与 1.3 版本一起发布。我想知道,根据我项目中使用的依赖项,哪些依赖项有更新的版本可用。

答案1

小编典典

Maven 版本插件和它的mojodisplay-dependency-updates是您正在寻找的:

mvn versions:display-dependency-updates

这是输出的样子:

[INFO] ------------------------------------------------------------------------[INFO] Building Build Helper Maven Plugin[INFO]    task-segment: [versions:display-dependency-updates][INFO] ------------------------------------------------------------------------[INFO] [versions:display-dependency-updates][INFO][INFO] The following dependency updates are available:[INFO]   org.apache.maven:maven-artifact ........................ 2.0 -> 2.0.9[INFO]   org.apache.maven:maven-plugin-api ...................... 2.0 -> 2.0.9[INFO]   org.apache.maven:maven-project ....................... 2.0.2 -> 2.0.9[INFO]   org.codehaus.plexus:plexus-utils ....................... 1.1 -> 1.5.6[INFO][INFO] ------------------------------------------------------------------------[INFO] BUILD SUCCESSFUL[INFO] ------------------------------------------------------------------------[INFO] Total time: 17 seconds[INFO] Finished at: Fri Aug 15 10:46:03 IST 2008[INFO] Final Memory: 10M/167M[INFO] ------------------------------------------------------------------------

iText最新的Maven依赖项

iText最新的Maven依赖项

iText的最新版本是什么?那么,对Maven的依赖是什么?

答案1

小编典典

您需要注意iText的Java版本的许可证:

  • iText 2.1.7:iText Group NV在&许可下使用groupId; 的最新 正式 版本。MPL``GPL``com.lowagie
  • iText 4.2.1:ymasory / InProTopia 的最新 非官方 版本,在MPLGPL许可下具有com.lowagiegroupId;
  • iText 5.0.0及更高版本:由iText Group NV根据AGPL许可发行,带有com.itextpdfgroupId。一个整体罐。
  • iText 7.0.0及更高版本:由iText Group NV根据AGPL许可发行,带有com.itextpdfgroupId。几个模块化的罐子。

在这里,您可以在Maven存储库中找到2.1.7和4.2.x版本:

在5.x版本之前查找:http
://search.maven.org/#search|gav|1|g%3A%22com.lowagie%22%20AND%20a%3A%22itext%22

查找5.x版本:http
:
//search.maven.org/#search%7Cgav%7C1%7Cg%3A%22com.itextpdf%22%20AND%20a%3A%22itextpdf%22

除非您可以遵循AGPL许可规范,否则您可能要坚持使用MPL和GPL版本。

编辑:您应该注意您选择的版本;

根据Bruno
Lowagie的评论,不赞成使用2.1.x版本,并且由于技术和法律原因,不应使用该版本。

java – Maven 3不会从本地存储库更新快照依赖项

java – Maven 3不会从本地存储库更新快照依赖项

我正在尝试在我的maven项目中使用外部库.由于我希望项目在任何机器上开箱即用,我不想使用mvn安装解决方案.因此我在我的pom.xml中定义了本地存储库:
<dependency>
        <groupId>com.test</groupId>
        <artifactId>fooLib</artifactId>
        <version>1.0-SNAPSHOT</version>
    </dependency>
    ....
    <repository>
        <id>in-project</id>
        <snapshots>
            <updatePolicy>always</updatePolicy>
            <enabled>true</enabled>
        </snapshots>
        <name>In Project Repo</name>
        <url>file://${project.basedir}/libRepo</url>
    </repository>

问题是当我更换libRepo中的jar(没有更新版本号,因为它只是另一个快照)没有使用这个更新的jar(而是使用.m2目录的旧版本),即使对于mvn -U clean install
如何让maven更新这个jar?

编辑:
根据What exactly is a Maven Snapshot and why do we need it? maven将尝试找到永远不会发布的SNAPSHOT依赖版本,“即使在本地存储库中找到了这个库的版本”.我的设置有什么问题?

肮脏的解决方案:
根据Maven 2 assembly with dependencies: jar under scope “system” not included的答案,我的原始解决方案的扩展似乎工作:

<plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-install-plugin</artifactId>
            <executions>
                <execution>
                    <id>hack-binary</id>
                    <phase>validate</phase>
                    <configuration>
                        <file>${repo.path.to.jar}</file>
                        <repositoryLayout>default</repositoryLayout>
                        <groupId>com.test</groupId>
                        <artifactId>fooLib</artifactId>
                        <version>1.0-SNAPSHOT</version>
                        <packaging>jar</packaging>
                        <generatePom>true</generatePom>
                    </configuration>
                    <goals>
                        <goal>install-file</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>

正如对该解决方案的评论中所提到的,它不能单独工作,因此它与项目内存储库(当依赖在本地.m2存储库中不可用时工作)一起工作,而第二部分在每次构建期间刷新.m2.

然而,我仍然不清楚为什么普通的“SNAPSHOT”机制不起作用(即当前的脏解决方案也可以在没有SNAPSHOT的情况下工作,因为本地.m2 repo每次都被明确更新).有没有更干净的方式?

解决方案(基于Aaron的回答和讨论):问题是我尝试使用install-file将文件安装到libRepo中.实际的解决方案是,如果库更新,请使用

mvn deploy:deploy-file -Dfile=fooLib.jar  -DgroupId=com.test \
    -DartifactId=fooLib -Dversion=1.0-SNAPSHOT -Dpackaging=jar \
    -Durl=file://..\libRepo -DrepositoryId=in-project

将其部署到回购.正确部署后,maven正确处理SNAPSHOT.

解决方法

如果您使用存储库,那么Maven会将JAR复制到其本地存储库(通常在$HOME / .m2 / repository /中).除非版本号更改,否则Maven不会认为此文件已更改,也不会复制它.请注意,版本号是Maven唯一看到的内容;它不关心校验和或文件大小或日期.

顺便提一下,为此目的在内部为快照分配了一个版本号:这样Maven就可以在内部注意到快照已经更新.

我建议改用system dependency.这样,实际的JAR将被添加到类路径中(没有任何复制或东西).您也不需要复制此方法的repo结构,它将清楚地传达您的意图.

[编辑]我知道Maven以不同的方式处理与范围系统的依赖关系.我不确定这是否有意义(如果它使用依赖项进行编译,它肯定可以用它来运行?)

在我看来,你有这些选择:

>使用deploy:deploy-file将依赖项安装到libRepo中,而不是自己复制它.这应该以这样的方式更新元数据:当您在真实项目上再次运行mvn install时,Maven将再次复制它.

请注意file:install不起作用.文件插件用于访问本地存储库,但您需要使用知道如何更新共享/服务器存储库的deploy插件.>将依赖项安装到本地存储库中;我建议你使用一个脚本,你可以包含在你的项目中.这样,您可以避免所有问题,并且可以轻松地在新机器上进行设置.>更改依赖项的版本号,但这很乏味,当依赖项的实际版本号发生更改时,您可能会遇到麻烦.>为您的公司设置本地仓库服务器并将依赖关系部署到该公司.这将需要几个小时,但a)您将获得所有依赖项的本地缓存,使您的初始构建更快,b)它将更快地为其他开发人员设置.

java – Maven woes:在存储库中找不到maven-clean-plugin

java – Maven woes:在存储库中找不到maven-clean-plugin

叹.

使用maven 2.2.1,突然间它无法解析maven-clean-plugin.真的,构建工具需要一个“干净”的插件是多么疯狂?

我尝试从另一台运行良好的机器同步我的.m2目录,并得到相同的结果.

taproot:~/$mvn clean package -DskipTests
[INFO] Scanning for projects...
[INFO] ------------------------------------------------------------------------
[INFO] Building CRM Webapp
[INFO]    task-segment: [clean,package]
[INFO] ------------------------------------------------------------------------
Downloading: http://download.java.net/maven/2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[INFO] Unable to find resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' in repository maven.java.net (http://download.java.net/maven/2)
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' from repository central (http://repo1.maven.org/maven2): Specified destination directory cannot be created: /Users/armhold/.m2/repository/org/apache/maven/plugins/maven-clean-plugin/2.2
Downloading: http://repository.jboss.org/nexus/content/groups/public-jboss//org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[INFO] Unable to find resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' in repository public jboss (http://repository.jboss.org/nexus/content/groups/public-jboss/)
Downloading: https://repository.jboss.org/nexus/content/repositories/releases//org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[INFO] Unable to find resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' in repository jboss-my-rel (https://repository.jboss.org/nexus/content/repositories/releases/)
Downloading: http://repository.jboss.org/maven2//org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' from repository JBOSS (http://repository.jboss.org/maven2/): Specified destination directory cannot be created: /Users/armhold/.m2/repository/org/apache/maven/plugins/maven-clean-plugin/2.2
Downloading: http://repo1.maven.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.2/maven-clean-plugin-2.2.pom
[WARNING] Unable to get resource 'org.apache.maven.plugins:maven-clean-plugin:pom:2.2' from repository central (http://repo1.maven.org/maven2): Specified destination directory cannot be created: /Users/armhold/.m2/repository/org/apache/maven/plugins/maven-clean-plugin/2.2
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Error building POM (may not be this project's POM).


Project ID: org.apache.maven.plugins:maven-clean-plugin

Reason: POM 'org.apache.maven.plugins:maven-clean-plugin' not found in repository: Unable to download the artifact from any repository

  org.apache.maven.plugins:maven-clean-plugin:pom:2.2

from the specified remote repositories:
  jboss-my-rel (https://repository.jboss.org/nexus/content/repositories/releases/),central (http://repo1.maven.org/maven2),maven.java.net (http://download.java.net/maven/2),JBOSS (http://repository.jboss.org/maven2/),public jboss (http://repository.jboss.org/nexus/content/groups/public-jboss/)

 for project org.apache.maven.plugins:maven-clean-plugin

我的pom看起来像这样:

<repositories>
    <repository>
        <id>public jboss</id>
        <url>http://repository.jboss.org/nexus/content/groups/public-jboss/</url>
    </repository>

    <repository>
        <id>jboss-my-rel</id>
        <url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
    </repository>

    <repository>
        <id>JBOSS</id>
        <name>JBoss Repository</name>
        <url>http://repository.jboss.org/maven2/</url>
    </repository>

</repositories>

<pluginRepositories>
    <pluginRepository>
        <id>maven.java.net</id>
        <name>Java.net Maven2 Repository</name>
        <url>http://download.java.net/maven/2</url>
    </pluginRepository>
</pluginRepositories>

解决方法

如果你仔细阅读了你的错误,你可以在那里找到答案:
Specified destination directory cannot be created:
 /Users/armhold/.m2/repository/org/apache/maven/plugins/maven-clean-plugin/2.2

你没有对该目录的写访问权(或者运行maven进程的用户没有)

java – Maven构建失败的依赖项

java – Maven构建失败的依赖项

我有一个本地artefact存储库,我的maven设置指向,但由于某种原因,这似乎没有击中它,并在尝试安装时一直失败.
我可以直接在浏览器中访问该URL,也可以通过浏览器访问maven repo.
我也可以ping两个.

任何想法为什么一直失败?
下面的堆栈跟踪

干杯,

mvn clean install -DskipTests -T 8C
[INFO] Scanning for projects...
Downloading: http://repo1.maven.org/maven2/org/apache/maven/wagon/wagon-webdav/1.0-beta-2/wagon-webdav-1.0-beta-2.pom
[ERROR] The build Could not read 1 project -> [Help 1]
[ERROR]   
[ERROR]   The project uk.co.three:Three:0.1 (/Users/***/Projects/three/Development/pom.xml) has 1 error
[ERROR]     Unresolveable build extension: Plugin org.apache.maven.wagon:wagon-webdav:1.0-beta-2 or one of its dependencies Could not be resolved: Failed to collect dependencies for org.apache.maven.wagon:wagon-webdav:jar:1.0-beta-2 (): Failed to read artifact descriptor for org.apache.maven.wagon:wagon-webdav:jar:1.0-beta-2: Could not transfer artifact org.apache.maven.wagon:wagon-webdav:pom:1.0-beta-2 from/to central (http://repo1.maven.org/maven2): Error transferring file: Connection refused -> [Help 2]
[ERROR] 
[ERROR] To see the full stack trace of the errors,re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions,please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/ProjectBuildingException
[ERROR] [Help 2] http://cwiki.apache.org/confluence/display/MAVEN/PluginResolutionException

解决方法

我不知道您是否使用了嵌入式或外部maven安装(Window-> Preferences – > Maven – > Installations).

如果是外部的,则必须在settings.xml中声明您的公司代理(在外部安装的conf文件夹中或在本地存储库中).

如果您使用嵌入式maven也可能是这种情况.然后,您必须在“嵌入式​​安装的全局设置”中提供设置文件.

如果您正在使用外部maven安装,您还可以在eclipse之外尝试命令行.

mvn -U ...

您可以强制maven查找最新的插件版本.

我们今天的关于Maven 检查存储库中更新的依赖项检查maven环境的分享已经告一段落,感谢您的关注,如果您想了解更多关于iText最新的Maven依赖项、java – Maven 3不会从本地存储库更新快照依赖项、java – Maven woes:在存储库中找不到maven-clean-plugin、java – Maven构建失败的依赖项的相关信息,请在本站查询。

本文标签: