首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何将本地非maven项目添加为maven项目的依赖项?

如何将本地非maven项目添加为maven项目的依赖项?
EN

Stack Overflow用户
提问于 2012-08-28 23:59:41
回答 3查看 6.3K关注 0票数 4

我创建了一个新的Spring web应用程序,我非常想使用Maven来处理构建/依赖关系。我的问题是,这个项目依赖于一些现有的本地项目,并且目前还不能对它们进行精细化。有没有可能在不精通这些项目的情况下依赖它们?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-08-29 00:13:29

不,你不应该试着那样做。Maven的主要目标是拥有一个标准化的构建。这就是Maven如此易于使用的原因:异常并不是常态。这就是为什么Maven要求所有依赖项都采用典型的Maven格式(POM + jar)。

当你说"Maven化它们目前不是一个选项“时,你基本上是说”Maven当前不是一个选项“。根据我的经验,将现有项目转换到Maven只需要几分钟……除非这个项目使用一个混乱的,不可靠的构建过程,在这种情况下,你真的应该尽快将它转换到Maven,以免浪费更多的宝贵时间。:-)

如果其他方法都失败了,可以使用构建服务器从依赖项目中生成JAR文件,并将它们部署到公司范围的存储库服务器或仅部署到您的本地计算机。

票数 3
EN

Stack Overflow用户

发布于 2012-08-29 00:05:23

我认为最简单的方法是将本地依赖项部署到本地存储库,以便maven可以将其用作常规依赖项。

要将本地jar文件部署到本地存储库中,请使用以下命令行:

代码语言:javascript
复制
mvn install:install-file -Dfile=<MY-FILE> -DgroupId=MY-GROUP-ID -DartifactId=MY-ARGIFACT -Dversion=MY-VERSION -Dpackaging=jar

如果您的公司中有像Artifactory这样的共享存储库,那么您可以在那里部署jar。否则,每个开发人员都必须部署到自己的本地存储库中。好消息是它只能做一次。

编辑。

下面是一种在pom.xml中定义项目到项目依赖关系的方法

代码语言:javascript
复制
    <dependency>
        <groupId>com.mycompany.util</groupId>
        <artifactId>util</artifactId>
        <version>${com.mycompany.version}</version>
    </dependency>

就这样。Util只是我工作空间中的另一个项目。

票数 9
EN

Stack Overflow用户

发布于 2020-02-17 08:02:01

这个答案有点晚,但以防有人需要它,我使用maven的Build Helper Plugin找到了解决方案,也就是说,如果您不想将非maven项目部署为jar:

因此,基本上只需在<sources>标记中添加非maven项目的源目录:

代码语言:javascript
复制
<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>3.0.0</version>
    <executions>
        <execution>
            <id>add-source</id>
            <phase>generate-sources</phase>
            <goals>
                <goal>add-source</goal>
            </goals>
            <configuration>
                <sources>
                    <source>C:\Users\user123\eclipse-workspace\my_non_maven_project\src</source>
                </sources>
            </configuration>
        </execution>
    </executions>
</plugin>

现在,如果这个非maven项目有它自己的依赖项,那么您还需要将它们添加到maven项目的<dependencies>部分。

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

https://stackoverflow.com/questions/12163153

复制
相关文章

相似问题

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