+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 پاسخ 705 بازدید
0 امتیاز
1 پاسخ 360 بازدید
0 امتیاز
2 پاسخ 630 بازدید
0 امتیاز
0 پاسخ 429 بازدید
+1 امتیاز
2 پاسخ 11.3هزار بازدید
0 امتیاز
0 پاسخ 720 بازدید
0 امتیاز
1 پاسخ 484 بازدید
0 امتیاز
1 پاسخ 361 بازدید
+1 امتیاز
1 پاسخ 598 بازدید
...