błąd po stworzeniu pliku jar

błąd po stworzeniu pliku jar
0

Używam eclipse i gdy uruchamiam za pomocą "Run" to wszystko działa:

Kopiuj
import javax.swing.JFrame;

public class Okno{
    
    static public void main(String args[]){
        JFrame frame = new JFrame("Okno");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(500, 300);
        frame.setVisible(true);
    }
}

a jak wyeksportowałem do "runnable jar" to wyskoczył błąd:
"could not find or load main class"

bogdans
Moderator
  • Rejestracja:prawie 17 lat
  • Ostatnio:prawie 5 lat
0

A co wybrałeś w okienku Launch configuration:?


To smutne, że głupcy są tak pewni siebie, a ludzie mądrzy - tak pełni wątpliwości. Bertrand Russell
Koziołek
Moderator
  • Rejestracja:około 18 lat
  • Ostatnio:19 dni
  • Lokalizacja:Stacktrace
  • Postów:6821
0

Plik jar posiada coś takiego jak manifest. W momencie gdy eksportujesz projekt do pliku jar należy zaznaczyć w konfiguracji, która klasa zostanie zapisana w manifeście jako główna klasa programu.

Sprawdź jeszcze jedną opcję

Kopiuj
$ java -jar plik.jar Okno

W tym przypadku ostatni parametr zostanie potraktowany jako nazwa klasy do uruchomienia. Przy czym jeżeli klasa jest w pakiecie należy podać pełną kwalifikowaną nazwę.


Sięgam tam, gdzie wzrok nie sięga… a tam NullPointerException
bakeraw2
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 5 lat
  • Postów:400
0

A może za pomocą mavena:

Kopiuj
<!-- jar file building -->
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <configuration>
          <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
          </descriptorRefs>
          <archive>
            <manifest>
              <mainClass>[Nazwa klasy z metodą main]</mainClass>
            </manifest>
          </archive>
        </configuration>
      </plugin>
    </plugins>
  </build>
0
Koziołek napisał(a):

Sprawdź jeszcze jedną opcję

Kopiuj
$ java -jar plik.jar Okno

Uruchomiłem bez nazwy klasy:

Kopiuj
java -jar plik.jar

i zadziałało bez problemu.

Błąd musi być gdzieś w systemie. Sprawdziłem zmienne systemowe:
JAVA_HOME: C:\Program Files (x86)\Java\jre7

Natomiast błąd po dwukrotnym kliknięciu na ikonę pokazuje się w oknie:
C:\Program Files (x86)\Java\jre7\bin\java.exe

Patrząc na te ścieżki, to uruchamianie za komendy "cmd" i z kliknięcia powinno odbywać się tak samo?

0

Odinstalowanie i ponowne zainstalowanie java pomogło -.-

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.