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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Не удается составить Ant файл для сборки в Jar, Исключить некоторые пакеты 
V
    Опции темы
Akeem
Дата 8.7.2009, 09:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



У меня есть build.xml файл вот в таком виде. Задача его собирать джар. При сборке джара нужно исключить часть пакетов, 
Мануал с офф сайта чего-то туго идет и не получается правильно составить файл для подобной сборки. 

Код

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
  "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">

<project name="MyProject" default="dist" basedir=".">
    <description>
        Build file for MyProject project
    </description>
    <!-- set global properties for this build -->
    <property name="src" location="." />
    <property name="build" location="bin" />
    <property name="dist" location="dist" />
    <property name="lib" location="../lib"/>

    <path id="base.path">
        <pathelement path="${base.classpath}"/>
        <fileset dir="${lib}">
            <include name="*.jar" />
        </fileset>
    </path>

    <path id="excluded_package">
        <pathelement path="${build}/Cases/Others/*.class"/>
        <pathelement path="${build}/docs/**/*.html"/>
        <pathelement path="${build}/img/**"/>
        <pathelement path="${build}/Converted/**"/>
    </path>
    
    <target name="init">
        <!-- Create the time stamp -->
        <tstamp />
        <!-- Create the build directory structure used by compile -->
    </target>
    
    <target name="dist">
        <mkdir dir="${dist}" />
        <delete file="${dist}/pr-${DSTAMP}.jar"/>
        <property name="version.num" value="1.00"/>
        <buildnumber file="build.num"/>

        <jar destfile="${dist}/pr-${DSTAMP}.jar"
                       basedir="${build}"
                       includes="${build}/*.class"
                      manifest="META-INF/MANIFEST.MF"
                        excludes="${excluded_package}"
                       />
    </target>

</project>



при запуске указаного скрипта вознакает ошибка:
Код

Buildfile: D:\oleksii\workspace_eclipse\MyProject\build.xml
dist:
    [mkdir] Created dir: D:\oleksii\workspace_eclipse\MyProject\dist
      [jar] Warning: skipping jar archive D:\oleksii\workspace_eclipse\MyProject\dist\obb-${DSTAMP}.jar because no files were included.
      [jar] Building MANIFEST-only jar: D:\oleksii\workspace_eclipse\MyProject\dist\obb-${DSTAMP}.jar
BUILD SUCCESSFUL
Total time: 1 minute 15 seconds




--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
bvfalcon
Дата 8.7.2009, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 21
Регистрация: 4.8.2008

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



Цитата

BUILD SUCCESSFUL
Total time: 1 minute 15 second


И в чем ошибка?
PM   Вверх
Akeem
Дата 8.7.2009, 10:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



bvfalcon
Jar файл не создается. 


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
LSD
Дата 8.7.2009, 18:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



Дык у тебя же ни один файл в jar не попадает. Если нужен пустой jar, то используй параметр whenmanifestonly.


--------------------
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   Вверх
Akeem
Дата 8.7.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



LSD
Неее. Пустой  джар  не   нужен. 

Где у меня ошибка, чтобы в джар файлы включались, кроме определенных пакетов?


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
LSD
Дата 9.7.2009, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


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

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



За архивируй билд каталоги, билд файл и пару классов, те которые нужно включить и те которые нужно исключить (классы можешь сделать пустыми: без полей и методов) и приложи к сообщению.


--------------------
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   Вверх
Akeem
Дата 15.7.2009, 11:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Вопрос снят, кроме некоторых моментов

Цитата



после сборки проекта (со всеми зависимостями) выдается ошибка 
Код

Caused by: java.lang.ClassNotFoundException: common.io.connector.db.DataBaseProperties
        at java.net.URLClassLoader$1.run(Unknown Source)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClass(Unknown Source)
        at java.lang.ClassLoader.loadClassInternal(Unknown Source)
Could not find the main class: Main. Program will exit.


класс  common.io.connector.db.DataBaseProperties находится в проекте, что линкуется к собираемому.

Решение: поместить JAR зависимого проекта рязом с JAR вашего проекта. либо Еще курить build файл



Решение к созданию build файла: конвертнуть проект с Eclipse -> Netbeans и немного покурить с настройками проекта 
Мне понадобилось поменять настройки для манифеста и подправить пути к библиотекам. 

Правда остался открытым вопрос о том чтобы сделать проекты вообще независимым от ИДЕ и путей к библиотекам.


Это сообщение отредактировал(а) Akeem - 15.7.2009, 11:40


--------------------
Мир огромен и мы только муравьи в нём! (С) formicha

PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "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.0982 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


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

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