Maven在运行时添加依赖项

时间:2015-04-21 03:09:11

标签: java maven jar

我正在尝试使用maven编译和运行这个java项目。为此,我必须使用第三方Jar库,而不是在maven存储库中找到。我一直试图告诉maven在运行时使用这个库(因为它在编译时工作得非常好,正如我在POM文件中所说的那样没有问题)。我尝试过几个例子,比如使用Add-Jars plugin,将它作为外部依赖项添加到POM文件中:

        <!--medpost-->
    <dependency>
        <groupId>lib.medpost</groupId>
        <artifactId>medpost</artifactId>
        <version>1.0</version>
        <scope>system</scope>
        <systemPath>${project.basedir}/lib/medpost/medpost/1.0/medpost.jar</systemPath>
    </dependency>

其中包括尝试将其指示为命令行参数,例如此API中显示的第一个可选参数。它仍然抛出ClassNotFoundException。非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

首先,您需要将自定义JAR安装到本地Maven存储库中:

mvn install:install-file -Dfile=medpost.jar 
    -DgroupId=lib.medpost -DartifactId=medpost -Dversion=1.0

然后将以下标准<dependency>放入您的POM文件中:

<dependency>
    <groupId>lib.medpost</groupId>
    <artifactId>medpost</artifactId>
    <version>1.0</version>
</dependency>

默认情况下,medpost.jar将可用于编译运行时,因此您不需要指定范围,除非您有特殊需要,而不是OP声明的内容

顺便说一句,编译过程中没有问题的可能原因是你的 IDE 在其类路径上有JAR。但是当实际上尝试运行它时,依赖项不可用。