Java 将所有项目依赖项部署到远程存储库

Java 将所有项目依赖项部署到远程存储库,java,maven,archiva,Java,Maven,Archiva,我们有一个新的项目朋友,我们想把项目安装到他的环境中。但是有太多的依赖项不存在于maven存储库中。所以maven变得没用了。我们安装了一个archiva服务器来安装我们的工件,但是我们不想一个接一个地部署所有的依赖项,不仅仅是项目jar本身,而是所有的依赖项。对于这种情况是否有一个自动化的解决方案 提前感谢。如果您调整项目pom.xml并添加: 并运行mvn包这应该在localrepo目录中以存储库目录格式创建依赖项的副本。我尝试使用命令行选项创建dependency:copy depende

我们有一个新的项目朋友,我们想把项目安装到他的环境中。但是有太多的依赖项不存在于maven存储库中。所以maven变得没用了。我们安装了一个archiva服务器来安装我们的工件,但是我们不想一个接一个地部署所有的依赖项,不仅仅是项目jar本身,而是所有的依赖项。对于这种情况是否有一个自动化的解决方案


提前感谢。

如果您调整项目pom.xml并添加:

并运行mvn包这应该在localrepo目录中以存储库目录格式创建依赖项的副本。我尝试使用命令行选项创建dependency:copy dependencies,但它对我不起作用。现在从pom.xml中注释掉上面的内容,因为您可能不再需要它了

我从未使用过Archiva,但我认为此时您可以将localrepo存储库文件安装到本地web服务器上,并将Archiva服务器配置为镜像它

或者,如果您希望为最终用户进行最省力的安装,并且发行版大小不是问题,您可以在发行版中包含此localrepo目录,并通过将以下内容添加到pom.xml中,为maven提供对该目录的引用:

当分发不在公共Maven存储库中的本地和第三方jar文件时,这种本地存储库技术非常有用。您始终可以删除公共存储库中的库


我发现没有什么比我试图解释安装第三方JAR通常需要的所有mvn安装:安装文件palaver更能阻止新用户使用Maven了,不管我对Maven有多热情。

最初,如果您调整您的项目pom.xml并添加:

并运行mvn包这应该在localrepo目录中以存储库目录格式创建依赖项的副本。我尝试使用命令行选项创建dependency:copy dependencies,但它对我不起作用。现在从pom.xml中注释掉上面的内容,因为您可能不再需要它了

我从未使用过Archiva,但我认为此时您可以将localrepo存储库文件安装到本地web服务器上,并将Archiva服务器配置为镜像它

或者,如果您希望为最终用户进行最省力的安装,并且发行版大小不是问题,您可以在发行版中包含此localrepo目录,并通过将以下内容添加到pom.xml中,为maven提供对该目录的引用:

当分发不在公共Maven存储库中的本地和第三方jar文件时,这种本地存储库技术非常有用。您始终可以删除公共存储库中的库

我发现没有什么比我试图解释安装第三方JAR通常需要的所有mvn安装:install file palaver更能阻止新用户使用Maven,不管我对Maven有多热情

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-dependency-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>copy-dependencies</goal>
                    </goals>
                    <configuration>
                        <outputDirectory>localrepo</outputDirectory>
                        <useRepositoryLayout>true</useRepositoryLayout>
                    </configuration>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>
<repositories>
    <repository>
        <id>local-repo</id>
        <name>local-repo</name>
        <url>file://${basedir}/localrepo</url>
        <releases>
            <enabled>true</enabled>
            <checksumPolicy>ignore</checksumPolicy>
            <updatePolicy>always</updatePolicy>
        </releases>
    </repository>
</repositories>