Groovy Основной метод в подмодуле maven, который автоматически не компилируется перед запуском

У меня есть мульти-модуль Maven Groovy проекта. Когда я запускаю метод main в классном классе, который находится в одном из подмодулей, intellij не перекомпилируется перед запуском. Он всегда запускает версию, скомпилированную последним, когда я вручную инициировал maven: compile. Я не помню, чтобы мне приходилось делать это вручную или устанавливать какие-либо особые настройки проекта intellij в прошлом, чтобы это работало.

Я попытался повторно импортировать свой проект, несколько воплощений обновлений для моих poms, и затем в конечном итоге мне пришлось создать конфигурацию запуска, где я указываю конфигурацию "Перед запуском", которая сначала выполняет компиляцию mvn. Это похоже на взлом. Мне неясно, связана ли моя проблема с плохо сконструированным набором poms или я действительно пропускаю некоторую конфигурацию intellij.

Это работает в первый раз

class MyClass2 {
  static void main(String... args) {
    print("foo")
  }
}

но если я добавлю другой оператор печати, такой как панель печати, вывод программы выводит только foo, а не foo и bar.

class MyClass2 {
  static void main(String... args) {
    print("foo")
    print("bar")
  }
}

Моя структура модуля выглядит следующим образом:

my-project
  module-1
    src/main/groovy/com/foo/MyClass2.groovy (Depends on Module1)
  module-2
    src/main/groovy/com/foo/MyClass1.groovy

Мой pom-файл для этого подмодуля имеет этот раздел сборки:

<build>
    <plugins>
        <plugin>
            <groupId>org.codehaus.gmavenplus</groupId>
            <artifactId>gmavenplus-plugin</artifactId>
            <version>1.7.1</version>
            <executions>
                <execution>
                    <goals>
                        <goal>addSources</goal>
                        <goal>compile</goal>
                    </goals>
                </execution>
            </executions>
        </plugin>
    </plugins>
</build>

Я могу добавить больше pom config, если проблема связана с этим, или предоставить скриншоты intellij config. Я подозреваю, что intellij является корнем проблемы, потому что mvn compile и mvn clean install работают как с файлом на родительском, так и на всех подмодулях. У меня нет проблем со ссылкой на MyClass1 из MyClass2; Кажется, что зависимости установлены правильно.

1 ответ

Убедитесь, что у вас есть шаг Build в разделе Перед запуском Run Configuration:

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