首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >maven从pom内部运行maven install

maven从pom内部运行maven install
EN

Stack Overflow用户
提问于 2012-04-12 03:40:53
回答 2查看 1.1K关注 0票数 1

我有一些第三方jars不在存储库中,我需要在构建时安装它们。我尝试使用ant插件将生成的jar和pom从我的projects/lib文件夹复制到本地存储库。

我的src/main/lib目录包含以下文件夹结构com/oracle/ojdbc14/10.2/ojdbc.jar,ojdbc.pom

代码语言:javascript
复制
<plugin> 
            <groupId>org.apache.maven.plugins</groupId> 
            <artifactId>maven-antrun-plugin</artifactId> 
            <version>1.7</version> 
            <executions> 
                <execution> 
                    <phase>validate</phase> 
                    <goals> 
                        <goal>run</goal> 
                    </goals> 
                    <configuration> 
                        <tasks> 
                            <copy todir="${settings.localRepository}" >  
                                <fileset dir="${basedir}/src/main/lib/" includes="**"/>  
                            </copy>
                        </tasks> 
                    </configuration> 
                </execution> 
            </executions> 
        </plugin> 

但是当我运行mvn install时,它会失败,并显示以下msg

代码语言:javascript
复制
Failure to find com.oracle:ojdbc14:jar:10.2.0.3.0

为什么在对依赖项进行任何检查之前,就运行来自ant (验证阶段)的copy命令

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-12 04:49:33

获取存储库管理器并在那里安装工件。其他的一切都是丑陋的黑客攻击,比安装和使用存储库管理器更具侵入性和麻烦。看看Nexus,Artifactory或Archiva,并从使用它中获得所有好处,如改进的构建性能,易于使用第三方库,以及在内部共享工件的能力。

票数 2
EN

Stack Overflow用户

发布于 2012-04-12 04:05:25

抱歉,但这太糟糕了。如果你真的不能把这些第三方的东西部署到某个内部的或者私有的Maven中去,我目前所发现的最好的方法就是将install:install-file 与所有这些jars一起使用。我们为此创建了两个shell脚本(用于Windows和Linux),并通过SCM在bootstrap目录(或类似于下面的目录)中共享它们。请注意,每个新开发人员都必须这样做一次,因为这些工件随后可以在本地Maven存储库中解析。

有关install:install-file goal:http://maven.apache.org/plugins/maven-install-plugin/install-file-mojo.html的详细信息,请查看以下内容

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10112791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档