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 - Apache Crunch无法写入输出

android - Android平台的FFmpeg

android - 纵向/横向变化时蓝牙断开连接

android - 错误 : fix the version conflict (google play services) Kotlin

tomcat中的Java文件路径

java - Spring WebFlux 无法在 Tomcat 中运行

java - ANDROID - 在线程内循环

java - 我正在制作动画的这个正方形在它后面留下了痕迹,任何人都可以找出原因吗?

java - SQL查询平均大记录

java - 在 IntelliJ IDEA 中重命名模块