+1 امتیاز
قبل در برنامه نویسی توسط (87 امتیاز)
ویرایش شده قبل توسط

وقتی می خواهیم از امکانات مربوط به یک JSR خاص (مثلا JSR 349 Bean Validation 1.1) در یک پروژه ی EE استفاده کنیم، چون Container کل پیاده سازی EE را دارد نیازی نیست که آن را به صورت مجزا در لیست Dependency های maven اضافه کنیم.

اما اگر بخواهیم از این امکانات در یک پروژه ی Java SE استفاده کنیم لزوما باید بدانیم کدام artifact می تواند این امکانات را به ما بدهد. در این صورت بهترین روش برای پیدا کردن groupId و artifactId ای که یک JSR خاص را implement کرده چیست؟

طبیعتا ممکن است پیاده سازی های مختلفی از یک JSR وجود داشته باشد، به صورت خاص سوال من در مورد پیاده سازی های Oracle است.

2 پاسخ

+1 امتیاز
قبل توسط (87 امتیاز)
ویرایش شده قبل توسط

ابتدا وارد سایت mvnRepository.com می شویم. از سمت راست، بالای صفحه Categories را انتخاب می کنیم (1)، در صفحه ای که Artifact ها گروه بندی شده اند، گروه مربوط به Java Specifications را انتخاب می کنیم(2)، از روی نام استاندارد می توان Artifact مناسب را پیدا کرد (3). پس از کلیک روی لینک لیست tag های یک Artifact نشان داده می شود. دسترسی با استفاده از tag های مناسب مثل standard هم تسهیل کننده است.

چون سوال به صورت خاص در مورد پیاده سازی های oracle بود که برخی از آنها با groupId معادل با javax عرضه شده اند، از این tag نیز می توان استفاده کرد.

mvn repository

ویرایش:

البته باید دقت کنیم بین دو مفهوم Standard API و Reference Implementation تفاوت وجود دارد. به عنوان مثال در مورد JSR 380 که مربوط به Bean Validation 2.0 است، artifact های زیر را داریم:

مشخصات Artifact مربوط به Standard API :

<dependency>
    <groupId>javax.validation</groupId>
    <artifactId>validation-api</artifactId>
    <version>2.0.0.Final</version>
</dependency>

در حالی که Reference Implementation دارای مشخصات زیر است:

<dependency>
    <groupId>org.hibernate.validator</groupId>
    <artifactId>hibernate-validator</artifactId>
    <version>6.0.2.Final</version>
</dependency>

 

0 امتیاز
قبل توسط (1.1هزار امتیاز)

سوال جالبیه، خودم همیشه با جستجو در گوگل و مطالعه فهمیدم که فلان پروژه پیاده سازی فلان JSR است و تا حالا هم به مشکلی بر نخوردم. نهایتش در فروم ها و گروه های مرتبط پرسیدم و راهنمایی گرفتم.

قبل توسط (87 امتیاز)
با تشکر از جوابتون، روشی پیدا کردم و به عنوان یک جواب منتشر کردم

سوالات مشابه

+1 امتیاز
1 پاسخ 461 بازدید
0 امتیاز
1 پاسخ 267 بازدید
0 امتیاز
2 پاسخ 526 بازدید
0 امتیاز
0 پاسخ 272 بازدید
+1 امتیاز
2 پاسخ 10.9هزار بازدید
0 امتیاز
0 پاسخ 573 بازدید
0 امتیاز
1 پاسخ 330 بازدید
0 امتیاز
1 پاسخ 251 بازدید
+1 امتیاز
1 پاسخ 466 بازدید
...