У меня есть проект, который я превратил в фиджар. Gradle это в / build / libs
Я зашел в этот каталог и вызвал фаджар с файлом в качестве параметра.
шаги
- cd / build / libs
- java -jar .jar --execute script.groovy
запускает Main-Class - класс запуска, который читает аргументы из командной строки.
однако, что вы получаете в качестве имени файла 'script.groovy', и оно должно быть из того же каталога, в котором у меня есть файл jar
Внутри класса / фатжара, однако, если вы посмотрите на
System.getProperty("user.dir")
или
Path path = FileSystems.getDefault().getPath(".").toAbsolutePath()
все они сообщают путь как каталог projectRoot, а не из того места, откуда был запущен сам jar (/ build / libs)
внутри вашего класса, внутри fatjar, как вы определяете каталог, в котором фактически находится fatjar при вызове из командной строки?