我尝试使我的项目脱机并使用项目内回购构建项目。所以〜/ .m2 /目录在开头是空的。我将以下内容添加到我的poms中:
<repositories>
<repository>
<id>project</id>
<url>file://${basedir}/lib</url>
</repository>
<repository>
<id>central</id>
<name>Maven Repository Switchboard</name>
<layout>default</layout>
<url>http://repo1.maven.org/maven2</url>
<snapshots>
<enabled>false</enabled>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>central</id>
<name>Maven Plugin Repository</name>
<url>http://repo1.maven.org/maven2</url>
<layout>default</layout>
<snapshots>
<enabled>false</enabled>
</snapshots>
<releases>
<updatePolicy>never</updatePolicy>
</releases>
</pluginRepository>
<pluginRepository>
<id>project</id>
<url>file://${basedir}/lib</url>
</pluginRepository>
</pluginRepositories>
然后我删除了.m2文件夹中的所有内容,并使用该选项在Internet上构建我的项目
-dependency:go-offline
这有效。然后我将.m2 / repository目录中的所有内容复制到项目的lib目录中,并删除.m2 / repository中的内容。现在我断开了与互联网的连接并尝试使用-o选项构建我的项目。这不起作用,我得到以下错误:
[ERROR] Plugin org.apache.maven.plugins:maven-resources-plugin:2.5 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-resources-plugin:jar:2.5: The repository system is offline but the artifact org.apache.maven.plugins:maven-resources-plugin:pom:2.5 is not available in the local repository. -> [Help 1]
在我的lib文件夹(in-project-repo)中存在此插件和所有其他插件。 我有一些在互联网上无法获得的消息来源。我将它们复制到我的lib文件夹(in-project-repo),然后在构建项目时将它们复制到本地m2存储库中。所以我想我的in-project-repo正在运作。我不明白这一点。 如果我将内容放在〜/ .m2文件夹中,我可以在没有互联网的情况下构建我的项目。
我希望有人可以帮助我!
请注意
编辑:我使用选项:
-Dmaven.repo.local=/path/to/project/lib clean package -X -o
有更好的方法吗?