Я использую IntelliJ IDEA 10.0.2 (с поддержкой groovy / grails), maven 2.2.1 и grails 1.3.6.
У нас большой проект maven, который зависит от многих других проектов maven,Допустим, структура рабочей области выглядит следующим образом:
- backend-project (проект Java, без дополнительных зависимостей проекта)
- output-project (проект Java, без дополнительных зависимостей проекта)
- frontend-project (проект Grails, который зависит как от внутреннего, так и от выходного данных)
Это означает, что в pom.xml моего фронтенд-проекта я определил 2 зависимости проекта:
например,
<dependency>
<groupId>com.company.project</groupId>
<artifactId>backend-project</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>com.company.project</groupId>
<artifactId>output-project</artifactId>
<version>${project.version}</version>
</dependency>
Давайте предположим, что я изменяю некоторый Java-источник в выходном или внутреннем проекте.Теперь, когда я запускаю приложение grails, оно не учитывает изменения.Я должен опубликовать измененный артефакт локально, а затем снова разрешить его в проекте grails перед запуском приложения, чтобы он вступил в силу.Это говорит мне о том, что проект grails зависит только от jar-файлов зависимостей проекта в репозитории maven и не заботится о каких-либо существующих «исходниках» зависимости проекта в рабочей области.
Должно ли это быть настолько сложным, и если да, то, Зачем?
Обратите внимание, что если мой внешний интерфейс был весенним веб-проектом, изменения будут видны в IDEA, и tomcat даже перезагрузит их динамически.
Обратите внимание, что когда IDEA распознает проект mavenized grails, он больше не будет запускать проект grails с: "grail run-app", а с более сложной версией: "mvn grails: exec -Dcommand = run-приложение".Не знаю, имеет ли это какое-либо отношение ..
Спасибо!Мистер Слэш