Maven 2在开发的实验/快速和粗糙的模型阶段快把我逼疯了。
我有一个pom.xml文件,它定义了我想要使用的web-app框架的依赖关系,我可以从该文件快速生成启动项目。然而,有时我想链接到一个尚未定义pom.xml文件的第三方库,因此我不会手动为第三方库创建pom.xml文件并安装它,并将依赖项添加到我的pom.xml中,我只想告诉Maven:“除了我定义的依赖项之外,还包括/lib中的任何jar。”
似乎这应该是简单的,但如果是,我错过了一些东西。
任何关于如何做到这一点的建议都非常感谢。除此之外,如果有一种简单的方法将maven指向/lib目录,并轻松地创建一个pom.xml,将所有附带的jar映射到一个依赖项,然后我可以将其命名为/ install并链接到它,这也足够了。
我找到了另一种方法来做到这一点,看看这里从Heroku的帖子
总结一下(抱歉有些复制和粘贴)
在根文件夹下创建一个repo目录:
yourproject
+- pom.xml
+- src
+- repo
运行这个命令将jar安装到本地的repo目录
mvn deploy:deploy-file -Durl=file:///path/to/yourproject/repo/ -Dfile=mylib-1.0.jar -DgroupId=com.example -DartifactId=mylib -Dpackaging=jar -Dversion=1.0
添加到你的pom.xml:
> <存储库
<!——其他存储库,如果有的话——>
<库>
<标识> project.local id > < /
项目<名称> < /名称>
< url >文件:$ {project.basedir} /回购url > < /
< /库>
< /存储库>
< >的依赖
com . example < / groupId < groupId > >
< artifactId > mylib < / artifactId >
1.0 <版本> < /版本>
< / >的依赖
要安装不在maven库中的第三方jar,使用maven-install-plugin。
步骤如下:
从源代码(网站)手动下载jar文件
创建一个文件夹,并将jar文件放在其中
运行以下命令在本地maven存储库中安装第三方jar
mvn install:install-file -dfile= -dgroupId=
-dartifactId= -dversion= -dpackaging=
下面是我用于simmonsite log4j的示例
mvn安装:安装文件
-Dfile=/Users/athanka/git/MyProject/repo/log4j- rollingappender .jar -DgroupId=uk.org.simonsite -DartifactId=log4j- rollingappender -Dversion=20150607-2059 -Dpackaging=jar
在pom.xml中包括如下所示的依赖项
< >的依赖
< groupId > uk.org.simonsite < / groupId >
< artifactId > log4j-rolling-appender < / artifactId >
<版本> 20150607 - 2059 > < /版本
< / >的依赖
运行mvn clean install命令创建您的打包
以下是参考链接:
https://maven.apache.org/guides/mini/guide-3rd-party-jars-local.html