【问题标题】:Error: Gradle: error: package javax.mail does not exist错误:Gradle:错误:包 javax.mail 不存在
【发布时间】:2014-10-02 04:12:27
【问题描述】:

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

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

我使用了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:gradle-build:

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'.

编译失败;有关详细信息,请参阅编译器错误输出。 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

【问题讨论】:

  • 您在寻找要下载的 mail.jar 吗?
  • 我已经下载了,但 ide 无法识别。我想除了我的 IDE 之外,我还必须告诉我的 build.gradle,但我对 gradle 的测试还不够了解。我现在正在尝试阅读和了解它
  • 我在使用 twitter4j.jar 时遇到同样的问题

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


【解决方案1】:

我将以下内容添加到我的 build.gradle (Module:app) 文件中,并且编译时没有错误。

dependencies {
    //other dependencies here...
    compile 'com.sun.mail:android-mail:1.5.5'
    compile 'com.sun.mail:android-activation:1.5.5'
    testCompile 'junit:junit:4.12'
}
apply plugin: 'com.google.gms.google-services'

一个不同之处在于,就我而言,它是一个 Android 项目。

【讨论】:

    【解决方案2】:

    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'
    }
    

    【讨论】:

      猜你喜欢
      • 2013-08-21
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-06-08
      • 2017-07-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多