Maven Scope Kullanımı

 


Maven Scope Nedir? Maven Dependency Scope Türleri

Maven'da scope, bir bağımlılığın nasıl kullanılacağını belirten bir özelliktir. Maven projelerinde bağımlılıkları tanımlarken, bu bağımlılıkların nasıl entegre edileceğini ve hangi bağlamda kullanılacağını belirtmek için scope özelliği kullanılır. Scope değeri, bağımlılığın yaşam döngüsü ve kullanımı hakkında önemli bilgiler içerir.

Bu scope değerleri, bağımlılıkların projeye nasıl entegre edileceği konusunda önemli bilgiler sağlar ve bağımlılıkların projenin derleme ve çalışma zamanındaki davranışını etkiler.


Yaygın Olarak Kullanılan Maven Scope Türleri

Compile

Compile, Maven'daki varsayılan scope değeridir.

  • Varsayılan scope değeridir.
  • Bağımlılık, hem compile time hem de runtime esnasında kullanılır.
  • Bağımlılık, projenin sınıfları tarafından erişilebilir.
<dependency>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <scope>compile</scope>
</dependency>

Provided

Provided scope'u, bağımlılığın derleme sırasında kullanılmasını ancak çalışma zamanında kullanılmamasını sağlar.

  • Bağımlılık, compile time'da kullanılır, ancak çalışma zamanında kullanılmaz.
  • Genellikle application server tarafından sağlanan kütüphaneler için kullanılır.
<dependency>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <scope>provided</scope>
</dependency>

Runtime

Runtime scope'u, bağımlılığın yalnızca uygulama çalışırken kullanılacağını belirtir.

  • Bağımlılık, sadece runtime esnasında kullanılır.
  • Compile time esnasında kullanılmaz, ancak uygulama çalıştığında kullanılır.
<dependency>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <scope>runtime</scope>
</dependency>

Test

Test scope'u, bağımlılığı yalnızca test kodları için kullanılabilir hale getirir.

  • Bağımlılık, sadece test sınıfları tarafından kullanılır.
  • Uygulama tarafından kullanılmaz ve testlerin derlenmesi ve çalıştırılması için kullanılır.
<dependency>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <scope>test</scope>
</dependency>

System

System scope'u, bağımlılığın yerel dosya sistemi üzerindeki belirli bir konumdan alınacağını belirtir.

  • Bağımlılık, yerel dosya sisteminde veya sistemde belirli bir konumda bulunur.
  • Genellikle özel durumlar için kullanılır ve çoğunlukla önerilmez.
<dependency>
    <groupId>...</groupId>
    <artifactId>...</artifactId>
    <scope>system</scope>
    <systemPath>/path/to/library.jar</systemPath>
</dependency>
Daha yeni Daha eski