Я написал хороший плагин, который объединяет некоторые сгенерированные Java-источники.
Я могу построить проект просто отлично.
Я могу запустить его в конфигурации запуска, которая запускает другое затмение, и оно мне нравится.
Вот я и подумал: пора сделать его пригодным для установки.
Поэтому я создал проект объектов и проект сайта обновлений, а также создал и экспортировал его, и, похоже, он работает нормально. Я даже могу «установить» его с моего сайта обновлений или экспортировать плагин прямо в работающую рабочую среду. Я вижу, что он установлен, но если я пытаюсь открыть файл, который активирует мой плагин, он выдает исключения. В частности, он говорит мне, что есть «нерешенные проблемы компиляции».
После долгого поиска, перестроения (без ошибок), повторного тестирования снова и снова, я нахожу файл logs.zip
с каталогом, имя которого напоминает имя моего плагина, и в нем файл 54k (учтите, это 2011 год, а дисковое пространство очевидно, очень редкий) со смешным именем @dot.log
. Как отчаянно нужно смотреть в такой файл ?! Но, как ни удивительно, оказывается, что есть 54k сообщений об ошибках вроде следующего:
# 02.12.11 19:58:55 MEZ
# Eclipse Compiler for Java(TM) 0.B76_R37x, 3.7.1, Copyright IBM Corp 2000, 2011. All rights reserved.
----------
1. ERROR in X:\dev\frege\FregIDE\src\frege\IO.java (at line 1451)
final public static Consts ij = new Consts();
^
Syntax error on token "Invalid Character", delete this token
«Недопустимые символы» - это, конечно, совершенно допустимые символы идентификатора Java, просто они не являются буквами ASCII. Вот почему я установил все файлы в UTF-8, установил кодировку UTF-8 в качестве кодировки по умолчанию, и, как уже было сказано, при обычной сборке он работает отлично.
Есть ли способ предотвратить повторную компиляцию Eclipse при экспорте сайта обновления, функции или плагина. Это то, что я предпочел бы больше всего, так как все уже скомпилировано, а перекомпиляция занимает еще минуту или около того. (Существует даже флаг «Использовать файлы классов, скомпилированные в рабочей области». Но, похоже, он ничего не делает - он просто перекомпилируется.)
Альтернатива: Могу ли я как-то изменить скрипт, который он использует для создания этого? Я не могу найти скрипт, который он использует для сборки. Если бы я мог посмотреть шаг javac и поместить туда кодировку UTF-8 (это то, что я ожидаю, будет проблемой.)
Существует флажок «Сохранить как Ant-скрипт», но файл Ant содержит только:
<?xml version="1.0" encoding="UTF-8"?>
<project default="feature_export" name="build">
<target name="feature_export">
<pde.exportFeatures destination="x:\dev\frege\FregeUpdateSite"
exportSource="false" exportType="directory"
features="FregeFeature" useJARFormat="true"/>
</target>
</project>
Как я могу заставить eclipse использовать правильные настройки для компиляции, если я не могу предотвратить его компиляцию?