Java 如何设置配置文件的类路径

Java 如何设置配置文件的类路径,java,jar,classpath,Java,Jar,Classpath,我有一个jar文件和一个配置文件,需要在unix机器上的同一目录中执行。在执行jar时,如何设置配置文件的类路径 i、 e something.jar和something.config在同一个目录中,比如dir1 我导航到dir1并运行以下命令 dir1> java -cp something.config -jar something.jar 但是jar无法找到something.config文件。如果两者都在同一目录中,那么您只需要 dir1> java -cp . -jar

我有一个jar文件和一个配置文件,需要在unix机器上的同一目录中执行。在执行jar时,如何设置配置文件的类路径

i、 e something.jar和something.config在同一个目录中,比如dir1

我导航到dir1并运行以下命令

dir1> java -cp something.config -jar something.jar

但是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。

use可以使用这些方法来设置类路径

java -cp . -jar Yourjarname.jar// the . represent the current dir.

如何在应用程序中访问something.config?
set classpath=C:\Program Files\Java\jdk1.8.0_05\lib; //whatever your dir is..