我有一个使用Maven的Java项目。在我的项目中,我有一个名为libs
的文件夹,其中包含我无法从Internet /外部存储库加载的所有JAR。
我的问题是如何指定Maven在打包,构建等过程中包含这些JAR?
Maven的新手,对不起,如果这是一个愚蠢的问题。
编辑:我有一个自动工具,可以在我的Git上查看我的pom.xml
来构建&在不同的环境中部署我的项目。因此,按照建议here将其添加到本地Maven仓库中将无济于事,因为它只能在我的PC上运行。如果我在我的JAR中添加libs
文件夹,无论我在哪里都可以使用。
在评论中询问我是否不清楚或者我是否错了。
答案 0 :(得分:1)
与您的EDIT相反,添加到本地Maven repo 将帮助,它可以按如下方式自动执行:
maven-install-plugin
的当前版本是2.5.2
。我会使用它而不是默认值。) <configurations>
应如下所示:
<configuration>
<file>${project.basedir}/path/to/your/libs/lib-X.jar</file>
<repositoryLayout>default</repositoryLayout>
<!-- match the dependency declaration for this artifact -->
<groupId>logan.wlv</groupId>
<artifactId>lib-X</artifactId>
<version>x.y.z</version>
<packaging>jar</packaging>
<!-- -------------------------------------------------- -->
</configuration>
将install-plugin
声明放入build profile,例如lib
。
在调用任何首先解决依赖关系的阶段之前,在每台新PC上运行mvn initialize -P lib
一次(在libs
的内容之后运行一次,因此install-plugin
声明已更改) ,例如compile
。
或
使用以下方法进一步自动化:
<profile>
<id>lib</id>
<activation>
<file>
<missing>${settings.localRepository}/logan/wlv/lib-X/x.y.z/lib-X-x.y.z.jar</missing>
</file>
</activation>
...
<profile>
第一次没有显式配置文件激活时,只能运行mvn initialize
。