problem z aplikacją w swingu

0

Witam,

Obecnie pracuje nad pewnym projektem wykorzystującym swinga. Na moim kompie wszystko śmiga i działa, odpalany poprzez dwuklik w windowsie, z linii polecen oraz poprzez "run" w netbeansie.

Problem pojawił się podczas uruchamiania na komputerze produkcyjnym - program uruchamia się, jednak w pewnym momencie wiesza się. Jest to zawsze ten sam moment - wysyłanie pliku poprzez ftp. Jednak co ciekawe, ten sam program uruchamiany poprzez konsolowe "java -jar" uruchamia się i działa bez problemów. Sprawdziłem wersje javy i jest to 6.26. W ustawieniach w panelu sterowania mam ją właśnie zaznaczoną do uruchamiania programów. Co może powodować taki błąd?

0

Miałem podobny problem, polegał na tym, że włączając aplikację dwuklikiem, uruchamia się ona w katalogu innym, niż ten w którym się sama znajduje (i program nie może uzyskać dostępu do pliku). http://stackoverflow.com/questions/218061/get-the-applications-path/676413#676413 tu masz podane jak możesz to sprawdzić.

0

zrobiłem na szybko jara do sprawdzenia:

 
public class DirectoryCheck {

    public static void main(String[] args) {
       new DirectoryCheck().check();

    }

    private void check() {
        JFrame okno = new JFrame("");
        JPanel panel = new JPanel();
        okno.add(panel);
        panel.setLayout(new GridLayout(0,1));
        panel.add(new JLabel("System.getProperty(\"user.dir\"): "+System.getProperty("user.dir")));
        panel.add(new JLabel("new File(\"\").getAbsolutePath(): "+(new File("").getAbsolutePath())));
        panel.add(new JLabel("getClass().getProtectionDomain().getCodeSource().getLocation().getPath()"+getClass().getProtectionDomain().getCodeSource().getLocation().getPath()));
        okno.pack();
        okno.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        okno.setVisible(true);
    }
}

w przypadku odpalania z konsoli jak i dwuklikiem wszystkie wartości są takie same. To nie może być problem związany z katalogiem uruchamiania - otwieram inne pliki (np konfig) pomyślnie. Przeinstalowałem jre, dalej to samo.

ponieważ plik generowany jest dynamicznie i nie ma potrzeby trzymania go na hdd - jest wysyłany w sposób: otwierany jest strumien, i do niego zapisywana zawartość.

0

Jeśli kogoś to interesuje to znalazłem rozwiązanie - trzeba było odinstalować całą javę z systemu, manualnie usunąć wszystkie katalogi w programfiles/java i ponownie zainstalować. Bez ręcznego usuwania reinstalka nie działała.

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