我只是想用 Java 创建一个简单的邮件应用程序。 并且已经找到了如何编码,但我的导入似乎有一些问题。
import javax.mail.*;
import javax.mail.internet.*;
import javax.activation.*;
IntelliJ 建议将 Jave EE 6 JAR 添加到模块依赖项中。但这并没有帮助!也许你知道该怎么做。
Mustafa 的答案似乎是正确的,但已经过时了。
JavaEE 由 Oracle Corporation 所有。 JavaMail 是 JavaEE 的一部分,JavaEE 是其中的几十种技术之一。
几年前,Oracle 将所有权转让给Eclipse 基金会。
javax.*
更改为 jakarta.*
。
。当前版本是 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>
...创建一个小项目。我从here
添加了
Registry
类,here 提供了链接。
小提示:我修复了一个拼写错误,根据 Java 命名约定将类名从 registry
更改为
Registry
。注意该文件的导入使用 jakarta.*
包命名。
import java.util.*;
import jakarta.mail.*;
import jakarta.mail.internet.*;
那个
Registry
类可以编译,但我没有运行它。
部署。您可以将该 JAR 作为应用程序的一部分发布,前提是您可以遵守其许可证。 如果您正在编写要部署在 Jakarta EE 服务上的 Web 应用程序或 Web 服务,那么您需要更改您的
Maven POM 以单独使用 Jakarta Mail APIs而无需实现。该实现将由您选择用于部署的 Jakarta EE 兼容服务器产品在运行时提供。
此外,JavaMail jar 文件发布到 Maven 存储库。主要的 JavaMail jar 文件,这是所有大多数应用程序 需要,可以使用此 Maven 依赖项包含:
如果您使用 Maven,
<dependencies>
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
</dependencies>
https://maven.java.net/content/repositories/releases/com/sun/mail/javax.mail/1.6.2/javax.mail-1.6.2.jar否则下载 javax.mail jar 并将其添加到您的库/类路径中: