2010-12-12 4 views
0

Мне нужно создать файл jar с помощью eclipse IDE. Но я столкнулся с проблемой добавления ссылок на банки в jar, который я создаю ... после создания jar для моего проекта, когда я запускаю его с помощью командной строки (я использую командную строку, потому что мне нужно ввести файл как команду line аргумент) он дает исключение, говорящее «класс не найден», и этот конкретный класс находится в этом файле ссылок ...Создание файлов jar с использованием Eclipse

Я попытался преодолеть свою проблему, используя способ, указанный в следующей ссылке, но проблема все же существует. ..

http://www.wikihow.com/Add-JARs-to-Project-Build-Paths-in-Eclipse-(Java)

Может кто-нибудь, пожалуйста, помогите мне с этим? Thanx заранее ...

ответ

3

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

Перейдите в «Экспорт> Загружаемый файл JAR» и выберите «Пакет необходимых библиотек в сгенерированный JAR».

+0

Спасибо, что это сработало :-) –

1

Вы создаете исполняемый банку? При создании исполняемого баннера (т. Е. Он имеет основной класс и манифест), используя eclipse, есть возможность включить ссылки.

0

Вы можете использовать муравьиный скрипт, чтобы сделать это для вас:

<target name="dist" description="dist" depends="compile"> 
    <jar destfile="executable.jar"> 
      <manifest> 
        <attribute name="Main-Class" value="com.foo.MainClass"/> 
      </manifest>  
     <fileset dir="build" /> 
     <zipfileset src="lib/commons-beanutils.jar"/>   
     <zipfileset src="lib/commons-logging-1.1.jar"/> 
      <!-- Replace with your libraries --> 
    </jar> 
</target> 

http://www.coderslog.com/ANT_SCRIPTS_Executable_Jar_With_Dependencies

+0

Похоже, что это может испортить файлы манифеста библиотек. Если вы хотите сделать это с помощью Ant, а не с мастером, я бы рекомендовал OneJar (мастер делает что-то похожее под капотом): http://one-jar.sourceforge.net/ – Thilo

0

Обратите внимание, что статья, которую вы имеете в виду только говорит вам, как добавить дополнительные банки к вашему buildpath, так Eclipse может построить ваш проект. Вы все равно нуждаетесь в некоторых (или всех) из них также в своем пути к классу при запуске приложения. Уже предоставленные ответы дают больше информации о том, как фактически добавить их в приложение, но вы также можете просто ссылаться на карту (lib), в которую вы помещали все банки, с аргументом -classpath. См. http://download.oracle.com/javase/1.5.0/docs/tooldocs/windows/classpath.html Таким образом, в основном вы должны убедиться, что необходимые вам банеры указаны как во время выполнения (с использованием аргумента classpath, так и с использованием одного из других ответов), а также во время сборки (используя решение, упомянутое в упомянутой ссылке).

Смежные вопросы