Как передать путь к системному файлу для исполняемого jar-файла проекта Java? - PullRequest
1 голос
/ 06 мая 2020

У меня есть Java Project, который принимает путь к файлу XSD, помещенный в мою систему, в качестве входных данных, а затем создает лист Excel из этого XSD. Ниже показано, как я передаю путь XSD в коде Java: -

private static String schemaFileName = "D:/XSDFolder/Account.xsd";

Теперь я хотел создать исполняемый файл для моего проекта Java и передать его другим участникам, чтобы они могли просто запустить его в система ie и может создавать Excel из файла xsd. Но я не могу понять, как я могу передать этот путь к файлу xsd при запуске исполняемого файла jar, поскольку это динамический c путь и может изменяться для разных машин.

Любая помощь здесь приветствуется.

Ответы [ 2 ]

0 голосов
/ 06 мая 2020

Измените свой основной класс, чтобы получать аргументы и действовать в соответствии с аргументом:

public static void main(String[] args) {

       String schemaFileName = args[0];
}

Укажите полный путь в командной строке:

java -jar YOURJAR D:/XSDFolder/Account.xsd
0 голосов
/ 06 мая 2020

Поместите файл xsd в папку resource и попытайтесь прочитать его по относительному пути. Распакуйте файл jar с файлом xsd.


File file = new File(
    getClass().getClassLoader().getResource("Account.xsd").getFile()
);

или вы можете установить путь к файлу в качестве входного параметра для вашего исполняемого jar-файла, прочитать его, как параметры командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...