我只是想用 Java 創建一個簡單的郵件應用程式。并且已經找到了如何對其進行編碼,但是我的匯入似乎有一些問題。
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
IntelliJ 建議將 Java EE 6 JAR 添加到模塊依賴項中。但這并沒有幫助!也許你知道該怎么做。
uj5u.com熱心網友回復:
下載 JavaMail 版本
此外,JavaMail jar 檔案會發布到 Maven 存盤庫。可以使用此 Maven 依賴項包含大多數應用程式所需的主要 JavaMail jar 檔案:
如果你使用 Maven,
<dependencies>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
您可以在 java.net Maven 存盤庫和 Maven Central 中找到所有 JavaMail jar 檔案。
否則下載 javax.mail jar 并將其添加到您的庫/類路徑:
https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.6.2/javax.mail-1.6.2.jar
uj5u.com熱心網友回復:
穆斯塔法的答案似乎是正確的,但已經過時了。
雅加達EE
JavaEE歸甲骨文公司所有。JavaMail 是 JavaEE 的一部分,JavaEE 是其中包含的幾十種技術之一。
多年前,甲骨文將所有權轉讓給了Eclipse 基金會。
- 名稱從JavaEE更改為Jakarta EE。
- JavaMail更名為Jakarta Mail。
- 在最新的版本中,包名稱已更改,從
javax.*到jakarta.*。
雅加達郵報
規格
查找Jakarta Mail 規格串列。當前版本是Jakarta Mail 2.0。
執行
至少存在一種實作:Eclipse Jakarta Mail。
其他人也可以自由撰寫實作。不知道有沒有人有。
例子
我自己沒有使用過雅加達郵件,但你的問題讓我很好奇。所以我把這個依賴:
<!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>2.0.1</version>
</dependency>
...進入這個Maven POM:
<?xml version="1.0" encoding="UTF-8"?>
<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/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>work.basil.example</groupId>
<artifactId>JMail</artifactId>
<version>1.0-SNAPSHOT</version>
<name>JMail</name>
<!-- FIXME change it to the project's website -->
<url>http://www.example.com</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.release>17</maven.compiler.release>
</properties>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.junit.jupiter/junit-jupiter-api -->
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.8.1</version>
<scope>test</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.mail/jakarta.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>jakarta.mail</artifactId>
<version>2.0.1</version>
</dependency>
</dependencies>
<build>
<pluginManagement><!-- lock down plugins versions to avoid using Maven defaults (may be moved to parent pom) -->
<plugins>
<!-- clean lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#clean_Lifecycle -->
<plugin>
<artifactId>maven-clean-plugin</artifactId>
<version>3.1.0</version>
</plugin>
<!-- default lifecycle, jar packaging: see https://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_jar_packaging -->
<plugin>
<artifactId>maven-resources-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
</plugin>
<plugin>
<artifactId>maven-surefire-plugin</artifactId>
<version>3.0.0-M5</version>
</plugin>
<plugin>
<artifactId>maven-jar-plugin</artifactId>
<version>3.2.0</version>
</plugin>
<plugin>
<artifactId>maven-install-plugin</artifactId>
<version>3.0.0-M1</version>
</plugin>
<plugin>
<artifactId>maven-deploy-plugin</artifactId>
<version>3.0.0-M1</version>
</plugin>
<!-- site lifecycle, see https://maven.apache.org/ref/current/maven-core/lifecycles.html#site_Lifecycle -->
<plugin>
<artifactId>maven-site-plugin</artifactId>
<version>3.9.1</version>
</plugin>
<plugin>
<artifactId>maven-project-info-reports-plugin</artifactId>
<version>3.1.2</version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
... 創建一個小專案。我Registry從這里添加了類,這里提供了一個鏈接。
次要注:我固定一個錯字,從改變類名registry來Registry按Java命名約定。
請注意該檔案上的匯入使用jakarta.*包命名。
import java.util.*;
import jakarta.mail.*;
import jakarta.mail.internet.*;
That Registry class compiles, but I did not run it.
Deployment
If you are writing a standalone app, you need to include a JAR containing an implementation. You would ship that JAR as part of your app, provided you can abide by its license.
If you are writing a web app or web service to be deployed on a Jakarta EE service, then you would change your Maven POM to use the Jakarta Mail APIs alone without an implementation. The implementation would be provided at runtime by the Jakarta EE compliant server product you chose for deployment.
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/330278.html
上一篇:如何在react-native中使用twilio將otp發送到電子郵件
下一篇:錯誤:語言字串加載失敗:實體化
