Java создать автономную банку с внешними банками - PullRequest
1 голос
/ 07 марта 2011

Я разработал два .jar для своего приложения (LOG.jar и STRING.jar).

Я использую эти jar с импортом в .java:

import LOG.CLog
import STRING.CString

Все нормально.Но .jar увеличивается в моем проекте, поэтому я хотел бы создать только один .jar, который включает в себя все разработанные .jar.

Так что я попробовал это, создав единственный .jar (с именем TOOLS.jar):

jar.exe cvmf MANIFEST.MF TOOLS.jar TOOLS\LOG.jar TOOLS\STRING.jar

Но, если я добавляю только файл TOOLS.jar в мою компиляцию приложения (путь сборки Java в Eclipse), я получаю ошибку, когда хочу импортировать:

import TOOLS.LOG.CLog

Thisимпорт не может быть разрешен.

И в Eclipse "ссылочные библиотеки" я вижу пакет PXTOOLS, который включает в себя как STRING.jar, так и LOG.jar, но я не вижу STRING и LOG!

Как я могу это исправить?

Ответы [ 3 ]

1 голос
/ 07 марта 2011

Я использую эти jar с импортом в .java:

import LOG.CLog import STRING.CString

Вы импортируете классы, квалифицируя их с именами пакетов;не напрямую из файлов JAR.Я надеюсь, что ваш пакет называется LOG, а класс - здесь CLog (хотя использование имен в верхнем регистре является плохим соглашением)

Во-вторых, объединять файлы JAR в один не рекомендуется.Лучше держать их отдельно.Если вы вообще хотите объединить, вы должны сначала извлечь все файлы классов, а затем объединить.

1 голос
/ 07 марта 2011

Нельзя включать баночки в файл баночки. Если вы хотите поставить только одну банку, воспользуйтесь такими инструментами, как One-Jar . Они могут упаковать рабочую банку для вас.

0 голосов
/ 03 ноября 2014

Я использую эти банки, с импортом в .java:

import LOG.CLog import STRING.CString

Вы импортируете классы, квалифицируя их с именами пакетов; не напрямую из файлов JAR. Я надеюсь, что ваш пакет называется LOG, а класс - CLog (хотя соглашение о присвоении имен плохим, если имена пакетов прописные)

Во-вторых, объединять JAR-файлы в один не рекомендуется. Лучше держать их отдельно. Если вы вообще хотите объединить, вы должны сначала извлечь все файлы классов, а затем объединить.

Да, вы можете сделать это. Посмотрите здесь - Создайте JAR-файл всего проекта, используя JDeveloper

...