Tworzenie runnable JAR file (ECLIPSE)

0

w swoim projekcie wykorzystuje zewnętrzną bibliotekę JMF.jar Projekt prawidłowo działa gdy uruchamiam go w Eclipse jednak gdy tworzę runnable jar file to mam problem ponieważ po jego uruchomieniu nic się nie dzieje. Po uruchomieniu z konsoli otrzymuję następujący komunikat:

Exception in thread "main" java.util.NoSuchElementException
at java.util.Vector.firstElement(Unknown Source)
at VideoTransmisja.<init>(VideoTransmisja.java:62)
at VideoTransmisja.main(VideoTransmisja.java:349)

czy ktoś mógłby mi pomóc ponieważ problem prawdopodobnie bierze się z tego że źle jest eksportowana "zewnętrzna" biblioteka. nie do końca też rozumiem jak powinienem stworzyć plik manifest


Manifest-Version: 1.0
Class-Path: jmf.jar
Main-Class: VideoTransmisja

proszę o pomoc

0

Wiem, że mnie tutaj forumowicze obrzucą błotem, mięchem, i innymi takimi ale moja propozycja to.... przesiądź się na NetBeans'a :) Tam się wszystko samo robi praktycznie :)
No ale tak tak, jak zrobisz w eclipsie to będziesz master, bo poznasz tworzenie manifestu od początku :)

0

W konstruktorze VideoTransmisja zapewne próbujesz pobrać pierwszy element, ale... uruchamiając w Eclipse wcześniej wstawiasz ten element (obstawiam plik) do wektora, a w konsoli nie jest nic wstawiane.

0
Koziołek napisał(a)

W konstruktorze VideoTransmisja zapewne próbujesz pobrać pierwszy element, ale... uruchamiając w Eclipse wcześniej wstawiasz ten element (obstawiam plik) do wektora, a w konsoli nie jest nic wstawiane.

w mainie wywołuję konstruktor VideoTransmisja i przekazuję mu argumenty. Według mnie problem polega na tym, że występuje jakiś problem z korzystaniem z biblioteki jmf.jar która została wyeksportowana do nowego jara. W wektorze przechowuję urządzenia wykryte przez funkcję właśnie z biblioteki jmf.jar. Dlatego występuje ten błąd ponieważ do wektora nie trafia żadne urządzenie (później wywołuję funkcję wektor.firstElement();)

ps. w NetBeans problem jest ten sam :/

0

Jeżeli jmf.jar nie zostałby zaimportowany poprawnie to poleciałby zapewne ClassCastException jeszcze przed uruchomieniem metody main (błąd ładowania klasy VideoTransmisja). Zresztą możesz spróbować użyć opcji -classpath przy uruchamianiu programu w konsoli.

Tu masz pusty wektor. Zatem nie ładujesz do niego danych w momencie gdy program uruchamiany jest z konsoli.

0
Koziołek napisał(a)

Jeżeli jmf.jar nie zostałby zaimportowany poprawnie to poleciałby zapewne ClassCastException jeszcze przed uruchomieniem metody main (błąd ładowania klasy VideoTransmisja). Zresztą możesz spróbować użyć opcji -classpath przy uruchamianiu programu w konsoli.

Tu masz pusty wektor. Zatem nie ładujesz do niego danych w momencie gdy program uruchamiany jest z konsoli.

czyli miałbym uruchamiać java -jar mojprogram.jar + dodać odzielnie sciezkę do biblioteki? mógłbyś powiedzieć jak to wywołać?

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0