- Баллы
- 61
Помогите, пожалуйста!
Только начал изучать Java, практически совсем не разбираюсь в классах, однако уже потребовалось срочно внести изменения в файл. Дело в том, что пытаюсь исходник лаунчера преобразовать сначала в файл.jar, а потом перекомпилировать его в файл.exe. Однако при запуске файл.exe в логах пишет, что созданный файл запуститься не может из-за ошибки в config.java.
Файл.jar создаю в Eclipse IDE for Java Developers версия Mars.2 Release (4.5.2)
Файл.exe создаю в Launch4j 3.8
Лог Launch4j:
Config.java:
Плюс в config.java использовался класс java.io.IOException, на который Eclipse "ругался" и требовал удалить. Из данного файла импорт этого класса удален.
Помогите, кто разбирается в кодировке Java, пожалуйста
Только начал изучать Java, практически совсем не разбираюсь в классах, однако уже потребовалось срочно внести изменения в файл. Дело в том, что пытаюсь исходник лаунчера преобразовать сначала в файл.jar, а потом перекомпилировать его в файл.exe. Однако при запуске файл.exe в логах пишет, что созданный файл запуститься не может из-за ошибки в config.java.
Файл.jar создаю в Eclipse IDE for Java Developers версия Mars.2 Release (4.5.2)
Файл.exe создаю в Launch4j 3.8
Лог Launch4j:
Exception in thread "main" java.lang.NullPointerException
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at net.launcher.run.Config.<init>(Config.java:23)
at net.launcher.run.Config.getInstance(Config.java:35)
at net.launcher.run.Starter.main(Starter.java:13)
at java.io.Reader.<init>(Unknown Source)
at java.io.InputStreamReader.<init>(Unknown Source)
at java.util.Scanner.<init>(Unknown Source)
at net.launcher.run.Config.<init>(Config.java:23)
at net.launcher.run.Config.getInstance(Config.java:35)
at net.launcher.run.Starter.main(Starter.java:13)
Config.java:
1 /*
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6 package net.launcher.run;
7
8 import java.io.InputStream;
9 import java.util.Scanner;
10
11 /**
12 *
13 * @author akahito
14 */
15 public class Config {
16 private static Config instance;
17 private ConfigData data;
18 private Config(){
19 System.out.println("Config.load");
20 data = new ConfigData();
21 InputStream stream = this.getClass().getResourceAsStream("/config");
22 String line;
23 try(Scanner sc = new Scanner(stream)) {
24 while(sc.hasNext()) {
25 line = sc.nextLine();
26 line=line.trim();
27 if(line.length()>1)
28 data.put(line.substring(0, line.indexOf('=')), line.substring(line.indexOf('=')+1));
29 }
30 }
31 }
32
33 public static synchronized Config getInstance() {
34 if(instance == null)
35 instance = new Config();
36
37 return instance;
38 }
39
40 public ConfigData getData() {
41 return data;
42 }
43 }
2 * To change this license header, choose License Headers in Project Properties.
3 * To change this template file, choose Tools | Templates
4 * and open the template in the editor.
5 */
6 package net.launcher.run;
7
8 import java.io.InputStream;
9 import java.util.Scanner;
10
11 /**
12 *
13 * @author akahito
14 */
15 public class Config {
16 private static Config instance;
17 private ConfigData data;
18 private Config(){
19 System.out.println("Config.load");
20 data = new ConfigData();
21 InputStream stream = this.getClass().getResourceAsStream("/config");
22 String line;
23 try(Scanner sc = new Scanner(stream)) {
24 while(sc.hasNext()) {
25 line = sc.nextLine();
26 line=line.trim();
27 if(line.length()>1)
28 data.put(line.substring(0, line.indexOf('=')), line.substring(line.indexOf('=')+1));
29 }
30 }
31 }
32
33 public static synchronized Config getInstance() {
34 if(instance == null)
35 instance = new Config();
36
37 return instance;
38 }
39
40 public ConfigData getData() {
41 return data;
42 }
43 }
Плюс в config.java использовался класс java.io.IOException, на который Eclipse "ругался" и требовал удалить. Из данного файла импорт этого класса удален.
Помогите, кто разбирается в кодировке Java, пожалуйста