архивные странности
Кто-нибудь знает, почему метод URL.openConnection(), который работает из архива, если запускать его командой
java -jar archive_name.jar - не работает, если запускать тот же самый архив простым даблкликом ?
Операционка WindowsXP SP2. Пример:
Например, есть вот такой класс:
Если экспортировать его в исполняемый connector_test.jar, и запустить командой
java -jar connector_test.jar - всё работает прекрасно.
Однако, если запускать его даблкликнув по архиву - получается исключение:
java.net.ConnectException: Connection refused: connect
Структура архива:
-test
--ConnectionTest.class
-META-INF
--MANIFEST.MF
Внутренности MANIFEST.MF :
Manifest-Version: 1.0
Class-Path: .
Main-Class: test.ConnectionTest
WTF и что нужно сделать, чтобы работало с даблклика ?
java -jar archive_name.jar - не работает, если запускать тот же самый архив простым даблкликом ?
Операционка WindowsXP SP2. Пример:
Например, есть вот такой класс:
package test;
import java.io.BufferedInputStream;
import java.net.URL;
import java.net.URLConnection;
import javax.swing.JOptionPane;
public class ConnectionTest {
public static void alert(Object text) {
JOptionPane.showMessageDialog(null, text.toString(), "",
JOptionPane.INFORMATION_MESSAGE);
}
private ConnectionTest() throws Exception {
StringBuffer response = new StringBuffer();
int c;
URLConnection uc = new URL("http://google.com").openConnection();
uc.setDoInput(true);
BufferedInputStream bis = new BufferedInputStream(uc.getInputStream());
while ((c = bis.read()) != -1) {
response.append((char) c);
}
bis.close();
String text = response.toString();
alert("text.length()=" + text.length());
}
public static void main(String[] args) {
try {
new ConnectionTest();
} catch (Exception e) {
alert("error in connection test: "+e);
}
}
}
Если экспортировать его в исполняемый connector_test.jar, и запустить командой
java -jar connector_test.jar - всё работает прекрасно.
Однако, если запускать его даблкликнув по архиву - получается исключение:
java.net.ConnectException: Connection refused: connect
Структура архива:
-test
--ConnectionTest.class
-META-INF
--MANIFEST.MF
Внутренности MANIFEST.MF :
Manifest-Version: 1.0
Class-Path: .
Main-Class: test.ConnectionTest
WTF и что нужно сделать, чтобы работало с даблклика ?
