Я хочу скомпилировать мой код до версии Java 1.0.
Мне удалось скомпилировать до 1.1
:
$ java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
$ javac -target 1.2 -source 1.2 MyClass.java
(works with some warnings)
$ javac -target 1.1 -source 1.2 MyClass.java
(works with some warnings)
Но опция target
, похоже, непринять 1.0
:
$ javac -target 1.0 -source 1.2 MyClass.java
javac: invalid target release: 1.0
Как настроить таргетинг на JDK 1.0?
Я хочу, чтобы мой файл .class и .jar работалкак можно больше систем, включая очень старые, включая JDK 1.0.(У меня нет доступа к системе под управлением JDK 1.0.)
Что я пробовал до сих пор:
- Компиляция с
ecj-3.0.2.jar
: не поддерживает -target 1.0
, минимум -target 1.1
. - Компиляция с JDK 1.0: я не смог запустить его, он не был выпущен для Linux.
- Компилирование с JDK 1.1: я не смогДля Linux он не был выпущен.
- Компиляция с JDK 1.2: двоичный файл javac для Linux i386 не работает, он дает мне Ошибка сегментации .
- Компиляция с JDK 1.3:
javac: invalid target release: 1.0
. - Компиляция с JDK 1.4:
javac: invalid target release: 1.0
. - Компиляция с JDK 1.5:
javac: invalid target release: 1.0
.Это первый JDK с двоичными файлами Linux amd64. - Компиляция с JDK 1.6:
javac: invalid target release: 1.0
. - Компиляция с JDK 1.7:
javac: invalid target release: 1.0
. - Компиляция с JDK 1.8:
javac: invalid target release: 1.0
.(Я получил эту ошибку первым, когда задал вопрос.)
Причина, по которой я считаю, что -target 1.0
может работать, заключается в следующем: https://stackoverflow.com/a/26148408