обновить XML-файл в jar во время выполнения

#java #xml

#java #xml

Вопрос:

У меня есть XML-файл в моем jar-файле. Мне было интересно, есть ли какой-либо способ обновить информацию во время выполнения. Пожалуйста, дайте мне несколько предложений и заранее благодарю ВСЕХ вас.

Комментарии:

1. Требуется более подробная информация, в частности, что именно вы пробовали до сих пор? Мне не совсем понятен ваш вопрос относительно того, какую информацию вы хотите обновить.

2. я работаю над базой данных xml и хочу поместить ее в свой jar-файл по соображениям безопасности. Я хочу обновить базу данных xml, которая присутствует внутри jar, например, обновить номер телефона в записи. Заранее спасибо!!!

Ответ №1:

Вы должны изменить путь к классу на текущий каталог, чтобы файлы в текущем каталоге рассматривались как classpath (вы можете поместить XML-файл за пределы jar и изменять при необходимости во время выполнения)

Для этого, если вы используете maven для сборки jar, добавьте это в конфигурацию плагина jar

 <configuration>
      <archive>
        <manifest>
          <addClasspath>true</addClasspath>
        </manifest>
        <manifestEntries>
          <Class-Path>.</Class-Path> <!-- . directory where the jar is -->
        </manifestEntries>
      </archive>
</configuration>
  

Затем создайте свой проект для генерации файла jar, поместите его в каталог. Добавьте XML-файл в этот каталог, чтобы при запуске jar он считывал этот XML-файл из classpath (каталог jar сейчас). Теперь вы можете изменять XML-файл во время выполнения.

Если вы не хотите связывать XML-файл в jar, вы можете исключить его, добавив это в конфигурацию плагина jar

 <excludes>
    <exclude>filename.xml</exclude>
</excludes>
  

Комментарии:

1. Спасибо, мой друг, но XML-файл должен быть помещен в jar, чтобы JRE не позволяла пользователям распаковывать jar и читать информацию. И да, я зашифрую базу данных (которая является XML), как только приложение (соединение) будет закрыто. Еще раз благодарю вас за предложение.