【问题标题】:jarsigner error: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0jarsigner 错误:java.time.DateTimeException:MonthOfYear 的值无效(有效值 1 - 12):0
【发布时间】:2017-10-01 00:00:06
【问题描述】:

我在签署 Ionic android apk 时收到此错误,我在 Kubuntu 17.04 上,使用 Ionic 3,安装了 java 8

我得到的错误:

Enter Passphrase for keystore: 
updating: META-INF/MANIFEST.MF
adding: META-INF/TEST2.SF
adding: META-INF/TEST2.RSA
signing: AndroidManifest.xml
jarsigner error: java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0

java版本

$ java -version
openjdk version "1.8.0_131"
OpenJDK Runtime Environment (build 1.8.0_131-8u131-b11-2ubuntu1.17.04.3-b11)
OpenJDK 64-Bit Server VM (build 25.131-b11, mixed mode)

javac

$ javac -version
javac 1.8.0_131

我已经安装了 Android Studio,它运行良好,我测试了应用程序源代码,它在模拟器上运行没有问题。

【问题讨论】:

  • 你能解决这个问题吗?

标签: java android linux ubuntu ionic-framework


【解决方案1】:

Debian 9 上可以通过为 jarsigner 设置与 java 和 javac 版本匹配的正确 update-alternative 来解决此问题。

java版本

$ java -version
openjdk version "1.8.0_141"
OpenJDK Runtime Environment (build 1.8.0_141-8u141-b15-1~deb9u1-b15)
OpenJDK 64-Bit Server VM (build 25.141-b15, mixed mode)

javac的版本

$ javac -version
javac 1.8.0_141

jarsigner 的版本

$ sudo update-alternatives --get-selections | grep jarsigner
jarsigner   manual   /usr/lib/jvm/java-8-openjdk-amd64/bin/jarsigner

设置jarsigner的版本

$ sudo update-alternatives --config jarsigner
There are 4 choices for the alternative jarsigner (providing /usr/bin/jarsigner).

  Selection    Path                                             Priority   Status
------------------------------------------------------------
  0            /usr/lib/jvm/java-9-openjdk-amd64/bin/jarsigner   1091      auto mode
  1            /usr/bin/gjarsigner-4.9                           1049      manual mode
  2            /usr/bin/gjarsigner-6                             1060      manual mode
* 3            /usr/lib/jvm/java-8-openjdk-amd64/bin/jarsigner   1081      manual mode
  4            /usr/lib/jvm/java-9-openjdk-amd64/bin/jarsigner   1091      manual mode

【讨论】:

  • 我在第 9 版时遇到了同样的问题,更新到 10 后,问题就消失了。在这里您可以找到如何安装/更新版本 10 或更高版本:stackoverflow.com/a/49507161/6053654
【解决方案2】:

我有同样的错误。但是我的java版本是9.0.1,将我的jdk版本切换到1.8.xx后,错误就消失了。 所以,换个jdk版本或许能解决问题。

【讨论】:

    猜你喜欢
    • 2021-04-22
    • 1970-01-01
    • 2020-08-04
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    相关资源
    最近更新 更多