Gradle: изменение содержимого файла свойств внутри файла jar

В файле project.jar есть файл config.properties. Мне нужно изменить одно из свойств в этом файле без извлечения файла jar. Как это сделать и безопасно ли это делать, раз уж мы модифицируем Jar?

Код, который я пробовал:

def configProperties = new Properties()
def configPropFile = projectJar + '/config.properties'
configProperties.load(configPropFile)
configProperties.setProperty('versions', '1.7)
configProperties.store(configPropFile.newWriter(), null)

Это дает мне исключение:

Execution failed for task 'changeProp'.
> No signature of method: java.util.Properties.load() is applicable for argument types: (java.lang.String) values: [/com/codebase/project/config.properties]
  Possible solutions: load(java.io.InputStream), load(java.io.Reader), clear(), clone(), sort(), find()

Также пробовал:

configProperties.load(ClassLoader.getResourceAsStream(configPropFile))

Это дает мне исключение:

> Ambiguous method overloading for method java.util.Properties#load.
  Cannot resolve which method to invoke for [null] due to overlapping prototypes between:
        [class java.io.InputStream]
        [class java.io.Reader]

Я новичок в Gradle, может ли кто-нибудь мне помочь с этим?

Вы хотите изменить файл свойств в банке, чтобы потом изменить банку? Самый простой способ - распаковать / поменять / перепаковать.

Henry 26.10.2018 07:37

Выполнено. Спасибо за указатель

user1731553 26.10.2018 11:49

У меня такая же проблема при чтении из файла свойств.

WendyG 01.11.2018 15:23
0
3
222
0

Другие вопросы по теме