Как запустить java-класс автоматически при помощи молы, когда в определенные файлы вносятся изменения - PullRequest
0 голосов
/ 08 ноября 2019

Я использую 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>
...