Я разрабатываю приложение Java без графического интерфейса, и мне нужно проверить его поведение, запуская несколько экземпляров одновременно.
Я создал эту структуру папок
Testing
├──> Instance1
│ ├──> App.jar
│ └──> cfg.properties
├──> Instance2
│ ├──> App.jar
│ └──> cfg.properties
├──> Instance3
│ ├──> App.jar
│ └──> cfg.properties
└──> Instance4
├──> App.jar
└──> cfg.properties
Файл cfg.properties отличается для каждой папки, но файлы App.jar — это просто копии .jar, сгенерированные IDE. Проблема в том, что мне нужно вручную заменять каждый .jar каждый раз, когда я вношу какие-либо изменения в оригинал.
Есть ли способ получить что-то вроде ссылки на исходный файл .jar вместо его реальных копий, чтобы все они автоматически обновлялись каждый раз, когда я меняю исходный? (Решение в Windows было бы отличным, но любой трюк Linux также сработал бы для меня)
@karakfa Windows? да. Но это не позволит мне выполнить его. Я получаю сообщение «Ошибка: невозможно получить доступ к jarfile App.jar». Хотя в линуксе еще не пробовал
не уверен в Windows, расширения могут играть какую-то роль, не уверен; это должно тривиально работать в Linux.
как у вас проходят тесты? вы используете команду java -jar? Вы можете изменить app.jar, чтобы получить путь cfg в качестве аргумента?




вы можете переместить App.jar в новую папку и указать путь app.jar в аргументе classpath java
Testing
├──> Jar
│ ├──> App.jar
├──> Instance1
│ └──> cfg.properties
├──> Instance2
│ └──> cfg.properties
├──> Instance3
│ └──> cfg.properties
└──> Instance4
└──> cfg.properties
Тестовый экземпляр 1
cd Testing/Instance1
java -jar -cp ../Jar/App.jar
таким образом, вам не нужна банка в каждой папке экземпляра
ваша ОС поддерживает символические ссылки?