我有一个jar文件和一个配置文件,需要在unix框的同一目录中执行。如何在执行jar时将类路径设置为配置文件?
即something.jar和something.config在同一目录中说dir1。
我导航到dir1并运行以下命令
dir1> java -cp something.config -jar something.jar
但是jar无法找到something.config文件。
答案 0 :(得分:0)
如果两者都在同一目录中,那么您只需要
dir1> java -cp . -jar something.jar
答案 1 :(得分:0)
这是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
。
答案 2 :(得分:0)
use可以使用这些方法设置classpath
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..