Maven - Dış Bağımlılıklar
Bildiğiniz gibi Maven, bağımlılık yönetimini Depolar konseptini kullanarak yapıyor. Ancak, herhangi bir uzak depoda ve merkezi depoda bağımlılık yoksa ne olur? Maven, kavramını kullanarak bu tür senaryolara cevap verir.External Dependency.
Örneğin, 'Java Projesi Oluşturma' bölümünde oluşturulan projede aşağıdaki değişiklikleri yapalım.
Ekle lib src klasörüne.
Herhangi bir jar dosyasını lib klasörüne kopyalayın. Kullandıkldapjdk.jar, LDAP işlemleri için yardımcı bir kitaplık olan.
Şimdi proje yapımız aşağıdaki gibi görünmelidir -
Burada, projeye özel, olağan bir durum olan ve maven'in indirmesi için herhangi bir depoda bulunmayan kavanozları içeren kendi kitaplığınız var. Kodunuz Maven ile bu kitaplığı kullanıyorsa, derleme aşamasında bu kitaplığa indirilemediği veya bu kitaplığa başvurulamadığı için Maven derlemesi başarısız olacaktır.
Durumun üstesinden gelmek için, bu dış bağımlılığı maven'e ekleyelim pom.xml aşağıdaki yolu kullanarak.
<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/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.companyname.bank</groupId>
<artifactId>consumerBanking</artifactId>
<packaging>jar</packaging>
<version>1.0-SNAPSHOT</version>
<name>consumerBanking</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>ldapjdk</groupId>
<artifactId>ldapjdk</artifactId>
<scope>system</scope>
<version>1.0</version>
<systemPath>${basedir}\src\lib\ldapjdk.jar</systemPath>
</dependency>
</dependencies>
</project>
Yukarıdaki örnekte bağımlılıklar altındaki ikinci bağımlılık öğesine bakın, bu da aşağıdaki temel kavramları temizler: External Dependency.
Dış bağımlılıklar (kitaplık jar konumu), diğer bağımlılıklar ile aynı şekilde pom.xml'de yapılandırılabilir.
GroupId öğesini kitaplığın adıyla aynı şekilde belirtin.
ArtifactId öğesini kitaplığın adıyla aynı şekilde belirtin.
Kapsamı sistem olarak belirtin.
Proje konumuna göre sistem yolunu belirtin.
Umarım artık dış bağımlılıklar konusunda netsiniz ve Maven projenizde dış bağımlılıkları belirleyebileceksiniz.