由于我们的公司政策,我们希望维护我们自己的存储库服务器,该存储服务器完全与Internet断开连接。
为实现这一目标,我们在系统中安装Maven并执行以下命令以强制Maven下载所有依赖项以供离线使用: mvn依赖:离线
完成后,我们将所有下载的依赖项移动到我们的Tomcat服务器中,并更新maven的settings.xml以镜像到Tomcat服务的URL(存储所有依赖项)。我们暂时没有使用第三方存储库管理器。
echo ""
$num = read-host "Select a number"
echo ""
$nums = $num.split(",")
ForEach($answer in $nums){
switch ($answer) {
1 {uninstall}
2 {flashjava}
3 {reader}
4 {firefox}
5 {chrome}
6 {office}
7 {reader}
8 {updates}
9 {exit}
default {
write-host -ForegroundColor red "Invalid Selection"
sleep 2
mainmenu
}
}
}
echo ""
当我们删除.m2 \ repository中的所有依赖项并尝试运行“mvn package”来打包一个没有任何依赖项的简单项目时(参见我们的pom.xml),会出现问题。许多依赖项已从我们的服务器成功下载,但我们不理解为什么会出现以下错误。当我们执行 mvn依赖:go-offline 时,是不是已经下载了所有依赖项?
<mirror>
<id>ProjectsCentralRepository</id>
<mirrorOf>*</mirrorOf>
<name>Central Repository</name>
<url>http://localhost:8080/repos</url>
</mirror>
我还注意到Maven已经下载了不同依赖项的多个版本。例如,它已经下载了2.05到2.2.0的maven-profile POM文件,但只有2.0.9有jar文件。如何强制maven只下载最新版本的Maven依赖项,并在执行“mvn package”目标时使用最新版本?
谢谢你们。
我们的pom.xml:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources (default-resources) on project test: Execution default-resources of goal org.apache.maven.plugins:maven-resources-plugin:2.6:resources failed: Plugin org.apache.maven.plugins:maven-resources-plugin:2.6 or on
e of its dependencies could not be resolved: The following artifacts could not be resolved: org.apache.maven:maven-profile:jar:2.0.6, org.apache.maven:maven-repository-metadata:jar:2.0.6, org.apache.maven:maven-plugin-registry:jar:2.0.6, classworlds:classworlds:jar:1.1-alpha-2: Could not find artifa
ct org.apache.maven:maven-profile:jar:2.0.6 in ProjectsCentralRepository (http://localhost:8080/repos) -> [Help 1]
[ERROR]