Kann ich Frühling roo verwenden in Projekt bestehenden, die nicht Maven nicht verwendet?

StackOverflow https://stackoverflow.com/questions/1231707

  •  22-07-2019
  •  | 
  •  

Frage

Frühling Roo kann in bestehenden Projekten verwenden, die a href <= "http: // forum .springsource.org / showpost.php? p = 252919 & postcount = 3" rel = "nofollow noreferrer"> Standard maven Layout folgen. Bisher scheint dies zu bedeuten, dass Projekte, die nicht Maven nicht verwendet kein Glück.

Ich frage mich, was (wenn überhaupt) sind die Optionen für eine solche bestehende Projekte.

neu ordnen, um das Projekt-Layout Maven-Layout anzupassen? Dies scheint für Projekte mit langjähriger Geschichte in CVS sehr schwieriger Weg zu sein, aufgrund der Tatsache, dass Verfahren zum bewegen um Verzeichnisse in CVS ist extrem invasiv.

Gibt es andere Optionen wie Ändern Maven-Konfiguration mit Nicht-Standard-Layouts zu arbeiten? Was ich mich erinnere aus meiner früheren Lesung zu diesem Thema CoC Ansatz favorisieren nicht solche nicht -Standard-Layout.

Edit:

Richs Antwort unten zeigt, dass Über Reiten Sie die Standardeinstellungen in der Super-pom trivial ist. Das lässt uns mit der Frage, ob Frühling Roo gut mit solchen Modifikationen spielen. Dies ist zweifelhaft angesichts der Tatsache, das Frühling Roo nicht Maven nicht selbst verwenden.

Edit:

Richs aktualisierte Antwort zeigt, dass standardmäßig, ROO hart codierte Pfade verwenden und wird keine Änderungen in Ihrem pom.xml holen So beantworten scheint so weit zu sein, dass es nicht möglich ist, out-of-the-Box, sondern kann durch eine benutzerdefinierte Codierung durchgeführt werden (oder fragen ROO Team, dies zu unterstützen)

War es hilfreich?

Lösung

Es gibt keinen Grund, warum wir (das Roo Team) kann nicht die MavenPathResolver erlauben machen benutzerdefinierte Pfade verwendet werden, und einer der absichtlichen Gründen habe ich eine PathResolver Abstraktion war die Anpassung von gemeinsamen Weg Standorten unterstützen nicht nur auf Maven Nicht-Standard-Standorten sondern auch auf andere Build-Systeme wie Ant + Ivy. alle Basis Roo Add-ons haben die PathResolver zu verwenden, damit es nicht eine große Anstrengung zu unterstützen, dies sollte geschrieben. Bitte fügen Sie eine Erweiterungsanforderung an den Roo Jira Beispiel wenn Sie würde immer noch wie diese Unterstützung.

Andere Tipps

Sie können Maven ändern, um einen anderen Satz von Konventionen zu verwenden. Das Standard-Set von der Maven Super POM und kann durch die Neudefinition der betreffende Eigenschaft außer Kraft gesetzt werden.

Zum Beispiel, um die Verzeichnisquellen zu ändern von src / main / java src, das Testverzeichnis zu Test-src, und das Ressourcen-Verzeichnis von src / main / Ressourcen Ressourcen würden Sie die folgend in Ihrem POM gesetzt:

<build>
  <sourceDirectory>src</sourceDirectory>
  <testSourceDirectory>test-src</testSourceDirectory>
  <resources>
    <resource>
      <directory>resources</directory>
    </resource>
  </resources>
</build>

Beachten Sie, dass einige Plugins nicht die Standardeigenschaften verwenden könnten die Standorte zuzugreifen (z hartzucodieren Ziel / Klassen anstelle von $ {project.build.outputDirectory}, so dass man den einen oder anderen Problem haben könnte.


Update: Es sieht aus wie Roo derzeit diese Eigenschaften fest einprogrammiert . Sie können die MavenPathResolver oder fügen Sie eine zusätzliche Resolver ersetzen können die benutzerdefinierten Eigenschaften zu verwenden.

Wenn dies ein echtes Problem für Sie ist, können Sie eine Anfrage erhöhen die bekommen MavenPathResolver modifiziert, um individuelle Ziele zu erlauben.

Wie von Roo 1.2 nicht implementiert ist.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top