簡體   English   中英

將Maven本地.jar導入為lib

[英]Import Maven local .jar as a lib

我為我的班做了一個簡單的Maven項目。 根據教師教程,由於某些服務器問題,我們無法將其上載到學校回購中,因此我們必須使用altDeploymentRepository將其存儲在本地。 我有以下pom.xml

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.dpp</groupId>
    <artifactId>simple_lib</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>1.6</maven.compiler.source>
        <maven.compiler.target>1.6</maven.compiler.target>
    </properties>

    <build>
        <plugins>
            <plugin>
                <artifactId>maven-deploy-plugin</artifactId>
                <version>2.8.2</version>
                <configuration>
                    <altDeploymentRepository>internal.repo::default::file://${project.basedir}/../${project.name}-mvn-repo</altDeploymentRepository>
                </configuration>
            </plugin>
        </plugins>
    </build>

</project>

因此,在我的Maven項目的目錄中,我有兩個目錄:

sample_lib
sample_lib-mvn-repo

在第二個文件中,深入到: sample_lib-mvn-repo\\com\\dpp\\sample_lib\\1.0-SNAPSHOT我有一個要導入的.jar文件(但不像傳遞路徑一樣僅使用.jar文件-我需要執行此“ Maven方式”,將其導入為Maven lib)。 如果文件不是存儲在任何遠程存儲庫中,而是存儲在硬盤驅動器上,我可以這樣做嗎?

是的,您可以添加maven存儲庫並將其指向本地目錄:

<repository>
   <id>local</id>
   <name>local</name>
   <url>file:${user.dir}/sample_lib-mvn-repo</url>
</repository>

https://maven.apache.org/guides/introduction/introduction-to-repositories.html

假設您的jar文件在此處sample_lib-mvn-repo \\ com \\ dpp \\ sample_lib \\ 1.0-SNAPSHOT.jar,則可以將其添加為依賴項:

<dependency>
   <groupId>com.dpp</groupId>
   <artifactId>sample_lib</artifactId>
   <version>1.0-SNAPSHOT</version>
</dependency>

僅運行mvn install將文件安裝在本地存儲庫中。 默認情況下,本地存儲庫位於主目錄中的.m2\\repository

使用上面的pom,在運行mvn install ,您將在.m2\\repository\\com\\dpp\\sample_lib\\1.0-SNAPSHOT具有jar(和其他文件)。

要將其隨后導入另一個項目中,可以在該項目的pom中創建一個依賴項,例如:

<dependency>
   <groupId>com.dpp</groupId>
   <artifactId>simple_lib</artifactId>
   <version>1.0-SNAPSHOT</version>
</dependency>

所有這些僅在您的計算機上發生,並且不會使用任何遠程存儲庫。

現在,您可以對存儲庫進行本地模擬。

您可以按照https://maven.apache.org/pom.html#Repositories中所述使用存儲庫標記導入它。 要指定文件,請使其像文件一樣成為文件網址:

這不完全是您要的。 但是一種快速而骯臟的解決方案是制作一個POM項目(無源代碼)。

在POM項目中,您具有主項目和外部項目。

您可以簡單地依賴另一個項目。

暫無
暫無

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

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