Я использовал SchemaUpdate Hibernate для выполнения той же функции как миграции. Это на самом деле легче, чем миграции, потому что каждый раз Вы запускаете свое приложение, это исследует структуру базы данных и синхронизирует его с Вашими отображениями, таким образом, нет никакого дополнительного шага rake:db:migrate, и Ваше приложение никогда не может быть вне синхронизации с базой данных, против которой это работает. Будьте в спящем режиме отображая файлы, не более сложны, чем миграции направляющих поэтому, даже если Вы не использовали, в спящем режиме в приложении, Вы могли бы использовать в своих интересах его. Оборотная сторона - то, что это не столь гибко до отката, мигрируя вниз, выполняя операторы DML. Как указано в комментариях, это также не отбрасывает таблицы или столбцы. Я выполняю отдельный метод сделать тех вручную как часть Быть в спящем режиме процесса инициализации.
я не вижу, почему Вы не могли использовать миграции направляющих, хотя - пока Вы не возражаете устанавливать стек (Ruby, Грабли, направляющие), Вы не должны были бы касаться своего приложения.
Eclipse предоставляет параметры для создания файла манифеста для Jar, сохранения созданного манифеста в проект или использования указанного файла для манифеста.
У меня Eclipse 3.4.2, и он находится на четвертом экране в этом процессе:
Щелкните правой кнопкой мыши Project -> Export -> Java / JAR file, Next, JAR File Specification, Next, JAR Packaging Options, Next, Спецификация манифеста JAR.
По умолчанию просто создается манифест по умолчанию для JAR, а не сохраняется созданный файл обратно в проект, поэтому, если вы откроете файл JAR, он будет иметь манифест, но он будет просто укажите в нем что-то вроде:
Manifest-Version: 1.0
.
Если вы хотите изменить существующие JAR-файлы, не перестраивая их, то, вероятно, самый простой способ - просто сделать так, как предлагает mad-j, открыть их с помощью инструмента Zip и отредактировать существующий / META-INF / MANIFEST.
Манифест - это простой текстовый файл, Учебник Sun подробно описывает его содержимое.
Все, что вам нужно сделать, это создать такой файл и обновить файлы JAR с помощью этой команды:
jar cfm <jar-file> <manifest-addition>
Файл манифеста по умолчанию создается при создании jar
с использованием jar cf jar-file inputs-files
.
С Ant вы можете использовать jar задачу . У него есть опция manifest , чтобы указать все атрибуты, которые вам нужно включить. Примерно так:
<target name="create-my-jar">
<jar jarfile="foo.jar" basedir="bin/classes">
<manifest>
<attribute name="Class-Path" value="xxx"/>
<attribute name="Ant-Version" value="${ant.version}"/>
<attribute name="Created-By" value="JDK ${java.version} (${java.vendor})"/>
<attribute name='Specification-Title' value='xxx' />
<attribute name='Specification-Version' value='xxx' />
<attribute name='Specification-Vendor' value='xxx' />
<attribute name='Implementation-Title' value='xxx' />
<attribute name='Implementation-Version' value='xxx' />
<attribute name='Implementation-Vendor' value='xxx' />
<attribute name='Implementation-Vendor-Id' value='xxx' />
<attribute name='Implementation-Vendor-URL' value='xxx' />
<attribute name="Built-By" value="${user.name}"/>
<attribute name='Build-Date' value='xxx'/>
<attribute name='Build-Time' value='xxx'/>
</manifest>
</jar>
</target>
Файлы манифеста - это текстовые файлы. А поскольку файлы JAR на самом деле являются файлами ZIP, вы также можете добавить манифест с помощью такого инструмента, как 7-zip . Конечно, это не работает для подписанных JAR.