JavaMail API من Maven
سؤال
أحاول الترقية إلى أحدث أداة Java Mail.
من
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.4.7</version>
</dependency>
إلى (قصدي)
<dependency>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
<version>1.5.1</version>
</dependency>
لكنني لا أجد 1.5.1 لأداة البريد،
ولكن أستطيع أن أرى
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.5.1</version>
</dependency>
سؤالي هو سبب تغيير معرف المجموعة وإذا قمت بتغيير معرف المجموعة لـ 1.5.1، فهل أحتاج إلى تغيير كل تطبيقات البريد الخاصة بي الموجودة بالفعل (تغيير اسم الحزمة وأي أشياء أخرى) وما الفرق بين com.sun.mail
ضد javax.mail
?
المحلول
تغيرت إحداثيات Maven منذ بعض الوقت لتكون متوافقة مع المخطط الموصوف هنا.الإحداثيات الجديدة هي هنا.
باختصار:
- معرف المجموعة
javax.mail
لم يعد يستخدم للتنفيذ. - هناك قطعة أثرية جديدة في
javax.mail:javax.mail-api
.فهو يوفرjavax.mail-api.jar
ملف.يحتوي هذا على تعريفات JavaMail API فقط، وهي مناسبة للتجميع. com.sun.mail:javax.mail
يحتوي علىjavax.mail.jar
الملف، وملف جرة التنفيذ المرجعي لـ JavaMail، بما في ذلك موفري بروتوكول SMTP وIMAP وPOP3.
لذلك، يجب عليك إما استخدام com.sun.mail:javax.mail
للتجميع والتعبئة/النشر أو الاستخدام javax.mail:javax.mail-api
للتجميع ثم نشر ملف com.sun.mail:javax.mail
jar حيثما كان ذلك مناسبًا (على سبيل المثال، Tomcat lib الخاص بك).
لا تنتمي إلى StackOverflow