[链接被替换为[http],因为StackOverflow不允许我使用超过2个链接…]
我已经安装了Apache Maven 3.2.3([超文本传输协议]maven.apache.org/download.cgi?Preferred=ftp://mirror.reverse.net/pub/apache/),它已经下载了所有核心插件。
然后我在XAMPP tomcat服务器上安装了Sonatype Nenus OSS([http]www.sonatype.org/nexus/go/)作为WAR应用程序。
一切都设置得很好,可以工作。我在这里的独特目标是测试从本地Maven到Nexus存储库的文件部署。
这是我的POM文件项目:
<project xmlns="..."
xmlns:xsi="..."
xsi:schemaLocation="...">
<modelVersion>4.0.0</modelVersion>
<groupId>groupA</groupId>
<artifactId>artifactA</artifactId>
<version>1.0.0</version>
<distributionManagement>
<repository>
<id>releases</id>
<url>[http]localhost:8080/nexus-2.9.2-01/content/repositories/releases</url>
</repository>
</distributionManagement>
</project>
这是我的Maven配置文件:设置.xml
<settings xmlns="..."
xmlns:xsi="..."
xsi:schemaLocation="...">
<servers>
<server>
<id>releases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
提供的帐户是默认的,它从Nexus GUI工作。我的Nexus存储库“releases”配置如下:[http]I . stack . imgur . com/nh3do . png
当我使用以下命令时:
mvn deploy
或以下内容:
mvn deploy:deploy
就我而言,这几乎是一样的…马文告诉我:[超文本传输协议]i.stack.imgur.com/2vBNx.png
[帮助1]只告诉我“查看插件留档”。错误消息告诉我“POM文件中没有指定存储库元素”,但它实际上是…
我真的不知道我错过了什么:/谢谢你的帮助
我将wagon-webdav-jackrabbit插件与您的配置结合使用。它使Maven能够将工件和文件部署到支持WebDAV的服务器上。
http://maven.apache.org/wagon/wagon-providers/wagon-webdav-jackrabbit/
将此粘贴到pom.xml中
<build>
<extensions>
<extension>
<groupId>org.apache.maven.wagon</groupId>
<artifactId>wagon-webdav-jackrabbit</artifactId>
<version>2.4</version>
</extension>
</extensions>
</build>
谢谢大家的回答。我真的不知道为什么它会起作用,但使用这些文件会起作用:
ArtifactA POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupA</groupId>
<artifactId>artifactA</artifactId>
<version>1.2.4</version>
<dependencyManagement>
<dependencies>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>nexus</id>
<name>Nexus Test Repository</name>
<url>http://localhost:8080/nexus-2.9.2-01/content/repositories/releases</url>
</repository>
</distributionManagement>
</project>
ArtifactB POM文件:
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>groupA</groupId>
<artifactId>artifactB</artifactId>
<version>1.0.0</version>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>groupA</groupId>
<artifactId>artifactA</artifactId>
<version>1.2.4</version>
<type>zip</type>
</dependency>
</dependencies>
</dependencyManagement>
<distributionManagement>
<repository>
<id>nexus</id>
<name>Nexus Test Repository</name>
<url>http://localhost:8080/nexus-2.9.2-01/content/repositories/releases</url>
</repository>
</distributionManagement>
</project>
Maven 设置文件:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
http://maven.apache.org/xsd/settings-1.0.0.xsd">
<servers>
<server>
<id>nexus</id>
<username>admin</username>
<password>admin123</password>
</server>
</servers>
<mirrors>
<mirror>
<id>nexus</id>
<name>Nexus Test Repository</name>
<url>http://localhost:8080/nexus-2.9.2-01/content/repositories/releases</url>
<mirrorOf>*,!central</mirrorOf>
</mirror>
</mirrors>
</settings>
部署脚本:
mvn deploy:deploy-file \
-Dfile=artifactA_package.zip \
-Dpackaging=zip \
-DpomFile=pomA1.2.4.xml \
-Durl=http://localhost:8080/nexus-2.9.2-01/content/repositories/releases \
-DrepositoryId=nexus
mvn deploy:deploy-file \
-Dfile=artifactB_package.zip \
-Dpackaging=zip \
-DpomFile=pomB1.0.0.xml \
-Durl=http://localhost:8080/nexus-2.9.2-01/content/repositories/releases \
-DrepositoryId=nexus
希望它能帮助下一个:)
我有一个小型开源图书馆的分叉,我正在github上工作。我想通过maven让其他开发人员可以使用它,但是我不想运行我自己的Nexus服务器,因为它是一个分叉,所以我不能轻松地将它部署到oss.sonatype.org. 我想做的是将它部署到github,这样其他人就可以使用maven访问它。最好的方法是什么?
我运行一个开源库,正在考虑让它完全接受Maven并将其上传到中央存储库,以便人们可以轻松地将其添加到他们的项目中。 问题在于,它依赖于几个较旧的库,这些库在任何 Maven 存储库中都不存在。目前,这意味着pom文件必须使用依赖项范围。我还阅读了有关为项目创建本地存储库以安装第三方库的信息。 但是,我的印象是,当我将库部署到 Maven 存储库时,这两种方法都不能很好地工作。也就是说,如果它依赖于
问题内容: 我的Maven配置有一个小问题。此处的所有其他问题和答案都不能解决我的问题,因此,我开始了一个新问题。 我的问题是,我的Maven没有使用本地存储库。它总是从远程存储库中获取工件。 当下载工件或构建项目时,它将安装在本地存储库中,因此路径正确。 问题是:当我构建一个SNAPSHOT项目时,它仅安装在本地存储库中(应该是这样,不想每次都将其发布在我的关系上)。当我在pom.xml中构建另
我的Maven配置有一个小问题。这里所有其他的问题和答案都没有解决我的问题,所以我要开始一个新的问题。 我的问题是,我的Maven没有使用本地存储库。它总是从远程存储库中获取工件。 当下载工件或构建项目时,它被安装在本地存储库中,因此路径是正确的。 问题是:当我构建一个快照项目时,它只安装在本地存储库中(应该是这样的,不要每次都在我的nexus上发布)。当我构建另一个项目时,在pom.xml中有前
我在POM. xml中引用了一个存储库来将ojdbc.jar添加到我的项目中,但是Maven(我使用STS插件)一直告诉我它找不到jar。 我在下面显示了我的存储库和jar依赖关系xml. 有人知道为什么找不到这个罐子吗?这是我的POM。xml设置不正确? 注意vaadin回购工作正常,因为vaadin罐被正确地添加到我的项目中。 下面是http://mvnrepository.com/artif
我刚刚使用Maven,我需要从一个Ant项目上传一些库。为了开发这个任务,我有一个文件夹,其中包含许多“pom.xml”文件,这些文件引用了我希望使用Maven在Eclipse中添加到我的项目中的jar,还有另一个xml文件,即Ant项目本身。 欢迎所有想法。谢谢