Есть ли способ позволить JVM загружать настроенный java.io.File вместо стандартного - PullRequest
1 голос
/ 01 марта 2012

Добавлены некоторые поля в java.io.File и скомпилированы для локального jar.Теперь я хочу импортировать его в приложение, которое использует это поле.Но javac -classpath myio.jar Test.java не скомпилируется.При использовании отражения и вызова java -classpath myio.jar Test во время выполнения возникла ошибка, связанная с отсутствием такого поля.Файл должен быть упакован как java.io.Есть ли способ заставить JVM загрузить локальный файл java.io.File или это запрещено?

Ответы [ 2 ]

3 голосов
/ 01 марта 2012

Есть ли способ заставить JVM загрузить локальный файл java.io.File или это запрещено?

Это запрещено.

Вы могли бы возможно обойти это, скомпилировав свой класс * custom9 File и добавив его в bootclasspath ... но очень плохая идея сделать это для чего-либо, кроме эксперимента.


Это из-за андроида. У них другая реализация библиотеки ядра Java. Я хочу портировать некоторые файлы.

Если вы хотите перенести код с Android на Java (TM), вы должны изменить свой код, чтобы удалить зависимости платформы, НЕ меняя платформу.

0 голосов
/ 01 марта 2012

На самом деле, File Class в jdk загружается первым, поэтому ваш класс не будет загружен. Вы можете поместить свой класс в jdk (rt.jar), если нет ошибки компиляции, она должна работать.

...