Я использую Jetty, которая обновляет изменения в классах Java без необходимости перезапуска сервера Jetty, это работает нормально.
Теперь у меня есть один класс java, который запускает файлы sql в папке certian и обновляет мою базу данных некоторыми данными базы данных.
Можно ли приказать Jetty запустить этот Java-класс, когда я вносил некоторые изменения в эти файлы SQL? Цель состоит в том, чтобы поддерживать мою базу данных без необходимости запуска этого Java-класса вручную.
Java-класс настроен в моем pom следующим образом:
<profile>
<id>dbupgrade</id>
<build>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<executable>java</executable>
<mainClass>com.companyName.DatabaseBuilder</mainClass>
<arguments>
<argument>upgrade</argument>
</arguments>
</configuration>
</plugin>
</plugins>
</build>
</profile>
моя конфигурация причала выглядит следующим образом:
<plugin>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-maven-plugin</artifactId>
<version>9.4.22.v20191022</version>
<configuration>
<scanIntervalSeconds>2</scanIntervalSeconds>
<webAppConfig>
<contextPath>/dev</contextPath>
</webAppConfig>
<configuration>
<webApp>${basedir}\target</webApp>
</configuration>
<connectors>
<connector
implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
<port>8080</port>
<maxIdleTime>60000</maxIdleTime>
</connector>
</connectors>
</configuration>
<dependencies>
<dependency>
<groupId>com.oracle</groupId>
<artifactId>ojdbc8</artifactId>
<version>${ojdbc8.version}</version>
</dependency>
</dependencies>
</plugin>