0

新しい AUTH XOAUTH2 コマンドを追加した後にプロジェクトをコンパイルしようとすると、次のエラーが発生します。

  byte[] response = String.format("user=%s\1auth=Bearer %s\1\1", msg.getFrom(),
            token).getBytes();

    response = BASE64EncoderStream.encode(response);
    transport.issueCommand("AUTH XOAUTH2 " + new String(response), 235);


issueCommand(java.lang.String,int) has private access in com.sun.mail.smtp.SMTPTransport
[javac] Note: Some input files use or override a deprecated API.
[javac] Note: Recompile with -Xlint:deprecation for details.
[javac] Note: Some input files use unchecked or unsafe operations.
[javac] Note: Recompile with -Xlint:unchecked for details.
[javac] 1 error

を含めようとしましたが<compilerarg value="-Xlint:unchecked"/>、まだうまくいきませんでした。だから私は別のものを追加しました<compilerarg value="-Xlint:deprecation"/>。しかし、まだエラーがあると言っています。

ここにxml情報をコンパイルします。

<javac source="1.6" target="1.6" srcdir="${src}" destdir="${build}" deprecation="no" debug="yes" listfiles="no">

注: Javamail 1.4 バージョンの Java クラス バージョンを使用しています: 1.4 (48.0)

4

1 に答える 1

0
  • javap com.sun.mail.smtp.SMTPTransportpublicsynchronized voidissueCommand(java.lang.String、int)がjavax.mail.MessagingExceptionをスローすることを報告します。JavaMail1.4.4の場合。

  • Javadocによると、メソッドは@since1.4.1です。

したがって、メソッドはプライベートではなくパブリックです。

したがって、別のバージョンのmail-*。jarがどこかにある必要があります。そうでなければ、あなたが説明する状況は不可能でしょう。またはcom.sun.mail.smtp.SMTPTransport、何らかの理由で独自の互換性のないクラスがあります。

または、メソッドはJavaMail 1.4でプライベートであり、JavaMailをアップグレードしていません。5バージョン遅れているため、アップグレードする必要があります。

于 2013-02-04T06:10:28.087 に答える