簡體   English   中英

Maven在運行時添加依賴項

[英]Maven add dependencies on runtime

我正在嘗試使用maven編譯並運行此Java項目。 為此,Ive必須使用在maven存儲庫中找不到的第3方Jar庫。 我一直試圖告訴Maven在運行時使用該庫(因為它在編譯時工作得很好,正如我在POM文件上所說的那樣,沒有問題)。 我已經嘗試了幾種方法,例如使用Add-Jars插件 ,將其作為外部依賴項添加到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。 任何幫助是極大的贊賞。

首先,您需要將自定義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。 但是,當實際嘗試運行它時,依賴項不可用。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM