java - 错误 : Gradle: error: package javax. 邮件不存在

标签 java android intellij-idea jakarta-mail android-gradle-plugin

如何让 javamail 中的 .jar 文件正常工作?

我正在使用 intelliJ IDEA IDE 并尝试转到项目结构 - 库 - 添加 - 定位的 .jar 文件并保存。然后我转到模块并选中导出下的框,因为我用于 fragment 等的支持库也被选中。

我使用了 Sending Email in Android using JavaMail API without using the default/built-in app 中的代码但没有运气。

我尝试使用完整的 .jar 文件以及提取后的文件,但都因同样的错误而失败。

在代码的编辑模式下我没有收到错误,只有在编译时 gradle 构建失败并向我显示错误,“错误(3,6):Gradle:错误:包 javax.mail 不存在. 请帮忙!

我还尝试按照 How can I use external JARs in an Android project? 上的说明进行操作但我认为这些说明与 eclipse IDE 相关。

edt: 渐变构建:

Information:Compilation completed with 25 errors and 0 warnings in 25 sec
Information:25 errors
Information:0 warnings
Error:Gradle: Execution failed for task ':app:compileDebugJava'.

Compilation failed; see the compiler error output for details. C:\Users\Marcus\Documents\IdeaProjects\Android\TestProjects\TestMailFeature3\app\src\main\java\com\majorwit\testmailfeature3\app\GMailSender.java

Error:(3, 24) Gradle: error: package javax.activation does not exist

Error:(4, 24) Gradle: error: package javax.activation does not exist

Error:(5, 18) Gradle: error: package javax.mail does not exist

Error:(6, 18) Gradle: error: package javax.mail does not exist

Error:(7, 18) Gradle: error: package javax.mail does not exist

Error:(8, 18) Gradle: error: package javax.mail does not exist

Error:(9, 27) Gradle: error: package javax.mail.internet does not exist

Error:(10, 27) Gradle: error: package javax.mail.internet does not exist

Error:(18, 44) Gradle: error: package javax.mail does not exist

Error:(22, 13) Gradle: error: cannot find symbol class Session

Error:(46, 15) Gradle: error: cannot find symbol class PasswordAuthentication

Error:(67, 49) Gradle: error: cannot find symbol class DataSource    

Error:(43, 19) Gradle: error: cannot find symbol variable Session

Error:(47, 20) Gradle: error: cannot find symbol class PasswordAuthentication

Error:(52, 13) Gradle: error: cannot find symbol class MimeMessage

Error:(52, 39) Gradle: error: cannot find symbol class MimeMessage

Error:(53, 13) Gradle: error: cannot find symbol class DataHandler

Error:(53, 39) Gradle: error: cannot find symbol class DataHandler

Error:(54, 35) Gradle: error: cannot find symbol class InternetAddress

Error:(58, 46) Gradle: error: package Message does not exist

Error:(58, 65) Gradle: error: cannot find symbol variable InternetAddress

Error:(60, 45) Gradle: error: package Message does not exist

Error:(60, 68) Gradle: error: cannot find symbol class InternetAddress

Error:(61, 13) Gradle: error: cannot find symbol variable Transport

最佳答案

javax.activation 和 javax.mail 包不是标准 android 包的一部分 (http://developer.android.com/reference/packages.html)。

幸运的是,JavaMail 的 Android 版本已经发布 (https://java.net/projects/javamail/pages/Android)。我遵循了在 Android Studio 中为我的项目修改 build.gradle 文件的建议,并且能够成功编译,而无需手动下载任何 jar 文件。

android {
  packagingOptions {
    pickFirst 'META-INF/LICENSE.txt' // picks the JavaMail license file
  }
}
repositories { 
  jcenter()
  maven {
    url "https://maven.java.net/content/groups/public/"
  }
} 
dependencies {
  compile 'com.sun.mail:android-mail:1.5.5'
  compile 'com.sun.mail:android-activation:1.5.5'
}

关于java - 错误 : Gradle: error: package javax. 邮件不存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25207596/

相关文章:

java - jetty + Jersey 在 intelliJ 中工作在 Jar 中失败

java - 尝试生成一个 pdf 表,该表将存储在 s3 上并立即作为自动电子邮件附件检索

android - 我需要在用户进入布局时显示 "drawerlayout"

java - Java 中使用无符号整数的非加密哈希

android - 单游标多对多查询不重复数据

java - InstantiationException.Software 在 Android 中突然崩溃

Java如何使用Intellij中另一个模块的方法

django - 如何检测 PyCharm 中未处理的异常?

java - 是否可以将 spring rest 文档与 spock 一起使用

java - Android持续运行服务