将外部jar添加到项目并使用maven构建进程

时间:2015-06-24 07:30:10

标签: java eclipse maven maven-2

我有一个maven多模块项目正在运作。我还有一个代码(abc.jar-non maven),其中一些功能要集成到现有maven项目的一个模块(比如module1)中。我如何将abc.jar导入我的maven项目? 我尝试了以下操作:创建/src/main/lib并将jar复制到lib。已配置pom.xml

<dependency>
    <groupId>abc</groupId>
    <artifactId>abc</artifactId>
    <version>1.0</version>
    <systemPath>${base.dir}/lib/abc.jar</systemPath>
    <scope>system</scope>
</dependency>

还尝试使用<systemPath>${project.basedir}/lib/abc.jar</systemPath> 但是,它警告'dependencies.dependency.systemPath' for abc:abc:jar should not point at files within the project directory, unresolvable。 有人告诉我,这可以通过组装来实现。但我无法实现。 请帮忙。我正在使用maven 2.4v

4 个答案:

答案 0 :(得分:0)

SystemPath对我工作正常,并尝试使用$ {baseDir}而不是$ {base.dir},或将maven版本更改为3.0

答案 1 :(得分:0)

按照以下链接,您将找到解决方案,

http://softwarecave.org/2014/06/14/adding-external-jars-into-maven-project/

答案 2 :(得分:0)

使用 $ {basedir} $ {project.basedir} 表达式而不是 $ {base.dir} 变量。所有表达都区分大小写。

您可以通过maven-help-plugin的评估目标来尝试。

mvn help:evaluate

答案 3 :(得分:0)

感谢。我尝试使用程序集插件来完成任务。它起作用了。

<assembly>
    <id>bin</id>
    <formats>
        <format>tar</format>
    </formats>
    <includeBaseDirectory>false</includeBaseDirectory>
    <dependencySets>
        <dependencySet>
            <useProjectArtifact>true</useProjectArtifact>
            <outputDirectory>lib</outputDirectory>
            <unpack>false</unpack>
        </dependencySet>
    </dependencySets>

    <files>
        <file>
            <source>src/main/lib/abc.jar</source>
            <outputDirectory>lib</outputDirectory> 
        </file>
    </files>
</assembly>