У меня есть файл jar и файл конфигурации, который требуется выполнить в том же каталоге в unix-окне. Как настроить путь к файлу конфигурации при выполнении jar?
ie something.jar и something.config находятся в том же каталоге, что и dir1.
Я перехожу к dir1 и выполняю следующую команду
dir1> java -cp something.config -jar something.jar
Но банку не удается найти файл something.config.
Если оба находятся в одном каталоге, вам нужно только
dir1> java -cp . -jar something.jar
Здесь фрагмент кода в классе Primes.java
который загружает список простых чисел из файла данных в той же папке.
private static final ArrayList<Integer> SomePrimes = new ArrayList<>();
private static final String PrimesFileName = "10000Primes.txt";
static {
try (InputStream in = Primes.class.getResourceAsStream(PrimesFileName);
InputStreamReader isr = new InputStreamReader(in);
BufferedReader br = new BufferedReader(isr)) {
for (String s; br.ready() && (s = br.readLine()) != null;) {
// Split into commas.
String[] ps = s.split(",");
for (String p : ps) {
if (p.length() > 0) {
SomePrimes.add(Integer.valueOf(p));
}
}
}
} catch (IOException ex) {
System.err.println("Loading pf primes failed.");
ex.printStackTrace(System.err);
}
}
По сути, вам нужно использовать class.getResourceAsStream
.
использование может использовать эти методы для установки пути к классам
java -cp . -jar Yourjarname.jar// the . represent the current dir.
или
set classpath=C:\Program Files\Java\jdk1.8.0_05\lib; //whatever your dir is..