Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Apache Ant, работа с jar файлами  
:(
    Опции темы
_Spirit_
Дата 29.1.2008, 12:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 29.1.2008
Где: Киев

Репутация: нет
Всего: нет



Подскажите, пожалуйста, как с помощью анта можно из нескольких jar файлов сделать один jar-ник???
PM MAIL ICQ   Вверх
LSD
Дата 29.1.2008, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 15
Всего: 538



Цитата(_Spirit_ @  29.1.2008,  12:40 Найти цитируемый пост)
Подскажите, пожалуйста, как с помощью анта можно из нескольких jar файлов сделать один jar-ник??? 

Распаковать во временную директорию, и затем запаковать обратно.


--------------------
Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it.
PM MAIL WWW   Вверх
_Spirit_
Дата 29.1.2008, 12:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 29.1.2008
Где: Киев

Репутация: нет
Всего: нет



Я слышала в анте есть таск, который это выполняет
PM MAIL ICQ   Вверх
batigoal
Дата 29.1.2008, 13:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Код

 <jar jarfile="myapp.jar" manifest="src/MANIFEST.MF">
    <fileset dir="classes" includes="**/*.class" />
    <zipfileset src="lib/dependency-A.jar" excludes="META-INF/*" />
    <zipfileset src="lib/dependency-B.jar" excludes="META-INF/*" />
    <zipfileset src="lib/dependency-C.jar" excludes="META-INF/*" />
  </jar>


http://saloon.javaranch.com/cgi-bin/ubb/ul...67&t=001346


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
_Spirit_
  Дата 29.1.2008, 13:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 29.1.2008
Где: Киев

Репутация: нет
Всего: нет



Спасибо, сейчас попробую 
PM MAIL ICQ   Вверх
_Spirit_
Дата 29.1.2008, 15:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 29.1.2008
Где: Киев

Репутация: нет
Всего: нет



Отлично все собралось smile
Благодарю
PM MAIL ICQ   Вверх
_Spirit_
Дата 29.1.2008, 16:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 37
Регистрация: 29.1.2008
Где: Киев

Репутация: нет
Всего: нет



<target name="merge-jar">
        <jar jarfile="${build.dir}/ear-tbm-ks51-lib.jar" manifest="META-INF/MANIFEST.MF">
            <zipfileset src="${basedir}/lib/aopalliance-1.0.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/api-1.0.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/apputils.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/asm-1.4.1.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/avalon-framework-4.1.4.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/batik.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/bsf.jar" excludes="META-INF/*"/>
            <zipfileset src="${basedir}/lib/bsl.jar" excludes="META-INF/*"/>
             ....
             ....
        </jar>
    </target>

Все отлично работает, но у меня около 1000 jar файлов, все перечислять не хочется, а  src="${basedir}/lib/*.jar" или  src="${basedir}/lib/*" не срабатывает "D:\work\tbm\mybuild.xml:504: problem opening D:\work\tbm\lib\*.jar". 
Подскажите пожалуйста

Это сообщение отредактировал(а) _Spirit_ - 29.1.2008, 16:51
PM MAIL ICQ   Вверх
batigoal
Дата 29.1.2008, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Я делал когда-то такую штуку (получение списка файлов в каталоге из Анта), но с помощью сторонних тасков.


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
batigoal
Дата 30.1.2008, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Нелетучий Мыш
****


Профиль
Группа: Участник Клуба
Сообщений: 6423
Регистрация: 28.12.2004
Где: Санктъ-Петербургъ

Репутация: 11
Всего: 151



Раскопал. Это кусок из рабочего скрипта для враппинга всех фалов в каталоге. Тут идёт пробег по каталогу ${sql.source.dir} и вызов таргета _wrap с параметром, равным имени текущего файла (см. последний таргет):
Код

        <!-- Подключаем либу ant-contrib -->
        <taskdef resource="net/sf/antcontrib/antlib.xml">
        <classpath>
            <pathelement location="${lib.dir}/ant-contrib.jar"/>
        </classpath>
    </taskdef>

    <!-- Wraps the ${sql.file} file with Oracle 9 wrapper -->
    <target name="_wrap">
        <basename property="file.filename" file="${file}"/>
        <delete file="${sql.wrap.dir}/${file.filename}"/>

        <exec executable="${wrap.dir}/wrap.exe">
         <arg value="iname=${sql.source.dir}/${file.filename}" />
            <arg value="oname=${sql.wrap.dir}/${file.filename}"/>
        </exec>
    </target>
    
    <!-- Wraps the ${sql.file} file with Oracle 9 wrapper -->
    <target name="wrap_one" description="Wrap one source sql file">
        <antcall target="_wrap"> 
            <param name="file" value="${sql.file}"/> 
        </antcall>
    </target>
    
    <!-- Wraps all the files in ${sql.source.dir} folder with Oracle 9 wrapper -->
    <target name="wrap_all" description="Wrap all source sql files">
        <delete dir="${sql.wrap.dir}"/>
        <mkdir dir="${sql.wrap.dir}"/>
        <for param="file">
            <path>
                <fileset dir="${sql.source.dir}" includes="*"/>
            </path>

            <sequential>
                <antcall target="_wrap"> 
                    <param name="file" value="@{file}"/> 
                </antcall>
            </sequential> 
        </for>
    </target>


Добавлено через 6 минут и 11 секунд
А сам ant-contrib есть тут: http://ant-contrib.sourceforge.net/

Это сообщение отредактировал(а) batigoal - 30.1.2008, 09:49


--------------------
"Чтобы правильно задать вопрос, нужно знать большую часть ответа" (Р. Шекли)
ЖоржЖЖ
PM WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java tools & IDE's | Следующая тема »


 




[ Время генерации скрипта: 0.0523 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.