eclipse

16 отговора 1431 прегледа
#1

eclipse

опитвам се да направя jar с eclipse.
това, което е в проекта попада безпроблемно вътре, но
jar-ове, които съм добавил като библиотеки, упорито не щат! (в java build path>libraries)
не е достатъчно ?
или поне в NetBeans4 как се прави ? :)

Отговор
в отговор на lLlN #2

Re: eclipse

Защо ти е да слагаш jar-ове в jar-а?

Отговор
в отговор на Poзeнkpaнц #3

Re: eclipse

Човекът пита "Как може да го направя?", а не "Защо ми е да го правя?"...

Има случаи, в които се налага, зависи с какъв Framework работиш

Отговор
в отговор на Barracuda #4

Re: eclipse

Не ми е известен случай да е нужно да се слагат jar файл в друг jar файл, а и както пише тук:

Typically a JAR file will contain the class files and auxiliary resources associated with applets and applications.

Та затова питам - да му обясня на човека, ако нещо се е объркал или пък да каже защо му трябват в архива, та да науча и аз нещо ново . Както и да е, явно не бях разбран правилно.

В Eclipse jar файлове се правят през Export менюто (File/Export ili дясна мишка в Package Explorer и после Export). Има си Wizard, където можеш да си избереш кои файлове от проекта да ти влизат и кои не. Единственото ограничение е, файловете които се включват в архива да са от workspace-a.

Отговор
в отговор на Poзeнkpaнц #5

Jar в Jar

OK, май и аз трябваше да поясня кога се налага...

Когато имаш 3rd party библиотека (тя е пакетирана в JAR file) и искаш да я използваш в твоя програма, то обикновено я правиш достъпна като я включиш в клас пътя.

Ако обаче използваш някаква динамична среда, в която runtime е възможно да се добавят такива библиотеки, то подхода с клас пътя не върши работа (такава среда е OSGi например). Тогава остава варианта да разпакетираш JAR-a и да го наблъскаш клас по клас в твоя JAR, но тогава в повечето случаи нарушаваш лиценза на 3rd party производителя (а и ако имаш повече от една такива библиотеки, то в твоя JAR вече не можеш да кажеш кое е твое и кое не ).

Та затова е полезно да можеш да вкарваш понякога JAR в JAR и с custom classloading решението става много красиво.



Отговор
в отговор на Poзeнkpaнц #6

Re: eclipse

всъщност моят jar чете данни от една база (MySQL) ... и ми се щеше, кото не е
на моето PC, пак да работи :)
Аз добавих класовете от драйверчето, но продължи да ме гризе мисълта, че
не е това подхода ...

Отговор
в отговор на lLlN #7

Re: eclipse

Ами какъв е проблема да са си два jar-a? А може и да има проблеми заради лиценза, не знам точно за MySQL драйвера как стои въпроса.

Между другото, ако говориш за applet, идеята да става връзката към базата директно от клиента никак не е добра.

Отговор
в отговор на Poзeнkpaнц #8

Re: eclipse

не е :)) веднага ще декомпилират аплетчето ...:)))
конзолна програмка е, но не ми се искаше да разнасям много
jar-ове. В NetBrans 3.6 много лесно се подреждаше
каквото и да е в jar-a ...

Отговор
в отговор на lLlN #9

Re: eclipse

Ами и при Eclipse е лесно, нали ти бях написал по-горе. Не става ли при теб?

Отговор
в отговор на Poзeнkpaнц #10

Re: eclipse

наистина лесно се получава ...
Аз по принцип съм свикнал с netbeans-a и се опитвах да работя с eclipse ...
Събрал съм много противоречиви мнения и не знам кое от двете е
по-добре да ползвам ... :-(

Отговор
в отговор на lLlN #11

Re: eclipse

То това с харесването си е субективна работа - което повече ти допада, това ползвай.
Аз с Netbeans не съм работил, но от Eclipse съм доста доволен - споделил съм впечатленията си тук

Отговор
в отговор на Poзeнkpaнц #12

Re: eclipse

благодаря :)
мисля, че постепенно ще мигрирам към eclipse :) ...
...всъщност там добавих jar-a към библиотеките, но
трябва да го копирам в същата директория, за да влезе в сорс-а. Така ли се прави по принцип ?
и въпреки това, при стартирането на jar-a, не може да го намери като библиотека ...

Отговор
в отговор на lLlN #13

Re: eclipse

Не можах да разбера какво точно си направил - в коя директория си го копирал и какъв сорс?

Между другото, ако сложиш jar в jar няма как да го заредиш през стандартното JDK, освен ако не си направиш собствен class loader.

Отговор
в отговор на Poзeнkpaнц #14

Re: eclipse

Copiral e jar-a v direktoriyata na proekta, za da se pokaje v durvoto v workspace-a.
Obache taka naistna ne go namira kato biblioteka. Ne e dostatuchno da e v proekta. Pri vsichki polojeniya tryabva da go add-nesh kum library-tata na proekta, samo razlikata e che kogato e ot proekta mojesh da polzvash add jar buttona, vmesto add external jar.
Da, po princip za da vkarash neshto v proekta, to tryabva da e v direktoriyata na proekta. Ne znam kak e v netbeans, znam che ima IDE-a, kudeto ne e zaduljitelno neshto da e v poddirektoriya na taya, kudeto ti e proektniya file, za da go add-nesh kum proekta, no v eclipse ne e taka. V eclipse definiciyata na proekta predstavlyava prosto path kum edna root direktoriyata, ot kudeto nadolu vsichko e proekt :).
Naistina jar-ove definirani kato library-ta ne mogat da se add-vat pri generirane na drugi jar-ove. Obache ima edin workaround. Mojesh da add-nesh jar-a v putya kato variable. Otivash pak tam na Libraries za proekta i kazvash Add Variable -> Configure Variables -> New, pishesh ime, davash file, ok, ok, selectvash i pak ok ... :) i taka
Veche ti e v putya, mojesh da compilirash sreshtu nego, no mojesh i sushto taka da go vklyuchvash v jar, zashtoto ti se razpoznava kato resource, a ne kato library :)
Ayde, uspeh s eclipse-a. Da znaesh che vsichki kazvat che bil nay-dobroto IDE v momenta ;)

Отговор
в отговор на Feles #15

Re: eclipse

Да, това имах предвид !
Благодаря :)
досега отварях jar-овете ... пък и като си погледна после в jar-а - само мен ме няма ...(за което пък Barracuda спомена по-горе :))

Още веднъж благодаря на всички, които отделиха време на jar-драмите ми :)))

Отговор
в отговор на Feles #16

Re: eclipse

Малко избързах да се радвам ... :)
проектът си работи чудесно в IDE-то.
Добавих го като Variable, отметнах го в order and export ...
и се появиха в jar-а
Когато пусна jar-а, обаче, не го намира
java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

а иначе .classpath също се експортва ...
Нещо пропускам ?

Отговор
в отговор на lLlN #17

Re: eclipse

Случайно намерих
[линк], което
ми реши накуп горните проблеми

Отговор