Maven2 - Ant execution einmalig ausführen

Status
Nicht offen für weitere Antworten.

Mewel

Aktives Mitglied
Hallo,

ich führe innerhalb meiner POM mit dem maven-antrun-plugin ein ant-script aus. In diesem reichere ich eine xml-Datei mit ein paar Daten an. Das ganze wird in der "process-resources"-Phase ausgeführt.

Das Problem ist nun, daß immer wenn ich "compile" ohne vorheriges clean aufrufe, weitere Daten an die xml-Datein angehangen werden. Dies soll aber nur ein einziges mal geschehen. Im Normallfall wär mir das egal, weil ich immer ein clean davor machen könnte. Nur leider ruft das maven-jetty-plugin immer "compile" auf, welches dann wiederrum "process-resources" aufruft.

1. Gibt es eine Möglichkeit eine execution nur einmal auszuführen, per property?
2. Warum ruft das jetty-plugin immer compile auf? Kann man das abstellen?
3. Oder könnte man das Problem mit ant lösen und dort irgendwie abfragen ob das Zeug schon in der xml-Datei steht?

Vielen Dank im Voraus!
 
M

maki

Gast
Mit scheint da stimmt etwas grundlegendes noch nicht...

Wenn alles richtig ist, dürfte es keinen unterschied zwischen einem clean install und einem install geben, das ist das Ziel.
Offensichtlich schreibtst du die XML Datei falsch, oder besser gesagt: du kopierst sie anscheinend nicht...
Wo liegt denn diese XML Datei?
Wo änderst du sie? Die letzte Antwort sollte mit "unter target/.../" Anfangen, sonst hast du dein Problem.
 

Mewel

Aktives Mitglied
Die xml Datei liegt unter: /target/classes/config/hibernate/hibernate.cfg.xml. Anhängen tu ich das mapping, also z.B.
<mapping resource="org/mycore/backend/hibernate/tables/MCRACCESS.hbm.xml"/>. Das macht in ant ein xmltask.
 
M

maki

Gast
Dann solltest du vorher eine frische Version kopieren (zB. mit einem Ant copy task), dann hast du das Problem nicht mehr ;)

Darf man fragen welche informationen das nachgetragen werden? Villeciht gibt es ja einen besseren Weg...
 

Mewel

Aktives Mitglied
Hm neu kopieren ist schonmal ne Idee, war anscheinend zu einfach als das ich drauf kommen konnte :D.

Wie gesagt, es wird das Mapping der Tabellen für Hibernate nachgetragen. So richtig gefällt mir das mit ant auch noch nicht, aber ich komme mit dem hibernate plugin für maven noch nicht so ganz klar.

Danke schonma für die Antworten, finds gut das du so schnell antwortest :).
 

Mewel

Aktives Mitglied
Bin nicht so fitt in Hibernate, aber ich gehe mal davon aus das Schema = Mapping ist.

Ich habe also eine hibernate.cfg.xml:
[XML]
<hibernate-configuration>
<session-factory>
<!-- Database connection settings -->
<!-- HSQLDB -->
<property name="connection.driver_class">org.hsqldb.jdbcDriver</property>
<property name="connection.url">jdbc:hsqldb:hsql://localhost:8298</property>
<property name="connection.username">sa</property>
<property name="connection.password"/>
<property name="dialect">org.hibernate.dialect.HSQLDialect</property>

<property name="generate_statistics">false</property>

<!-- Enable Hibernate's automatic session context management -->
<property name="current_session_context_class">org.mycore.backend.hibernate.MCRSessionContext</property>

<!-- net/sf/ehcache/hibernate/Provider -->
<property name="cache.provider_class">net.sf.ehcache.hibernate.SingletonEhCacheProvider</property>
<property name="cache.use_second_level_cache">true</property>
<property name="cache.use_query_cache">true</property>
<!-- more human readable cache entries -->
<property name="cache.use_structured_entries">true</property>
<!-- do not read to often from db just to save a few write operations -->
<property name="cache.use_minimal_puts">false</property>

<!-- Echo all executed SQL to stdout -->
<property name="show_sql">false</property>

<!-- misc options -->
<property name="hibernate.bytecode.use_reflection_optimizer">true</property>
<!-- Set batch_size to "0" in case of SQL batch Errors -->
<property name="jdbc.batch_size">2000</property>
<property name="default_batch_fetch_size">100</property>
</session-factory>
</hibernate-configuration>
[/XML]

In dieser Konfigurationsdatei fehlt noch das Mapping zu den Tabellen/Klassen. Das wird nun mittels dem ant-script dynamisch hinzugefügt also:

[XML]
<mapping resource="org/mycore/backend/hibernate/tables/MCRACCESS.hbm.xml"/>
<mapping resource="org/mycore/backend/hibernate/tables/MCRACCESSRULE.hbm.xml"/>
<mapping resource="org/mycore/backend/hibernate/tables/MCRCSTORE.hbm.xml"/>
...
[/XML]

Und diese Dateien sehen z.B. so aus:
[XML]
<hibernate-mapping package="org.mycore.backend.hibernate.tables">
<class name="MCRACCESS" table="MCRACCESS" node="map">
<composite-id class="org.mycore.backend.hibernate.tables.MCRACCESSPK" name="key" node="right">
<key-property name="acpool" type="string" column="ACPOOL" length="64" node="@permission" />
<key-property name="objid" type="string" column="OBJID" length="128" node="@id" />
</composite-id>
<many-to-one name="rule" column="rid" class="MCRACCESSRULE" cascade="none" node="rule" embed-xml="false" not-null="true" />
<property name="creator" type="string" column="CREATOR" length="64" not-null="true" unique="false" node="@creator" />
<property name="creationdate" type="timestamp" column="CREATIONDATE" length="64" not-null="true" unique="false"
node="@date" />
</class>
</hibernate-mapping>
[/XML]
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
A [maven2] Goals Projektabhängig auswählen Tools - Maven, Gradle, Ant & mehr 4
R [Maven2] immer Build failed für Projekt Tools - Maven, Gradle, Ant & mehr 10
RaoulDuke Maven2 - Anfängerprobleme Tools - Maven, Gradle, Ant & mehr 9
P [Maven2] Globale Properties Tools - Maven, Gradle, Ant & mehr 5
P [Maven2] Deploy auf Artifactory mit LDAP Authentication Tools - Maven, Gradle, Ant & mehr 10
P [Maven2] Projectdoku direkt auf Webserver deployen Tools - Maven, Gradle, Ant & mehr 7
M Maven2 Axis2 Tools - Maven, Gradle, Ant & mehr 2
T [MAVEN2] Wo Saple-code zur Lib platzieren? Tools - Maven, Gradle, Ant & mehr 9
P [Maven2] Wie Blacklists löschen? Tools - Maven, Gradle, Ant & mehr 8
P [Maven2] Wie kann man das "Updating Indexes" verhindern? Tools - Maven, Gradle, Ant & mehr 4
byte Maven2: Test und Prod Builds Tools - Maven, Gradle, Ant & mehr 11
K Maven2 inherited docs nachladen Tools - Maven, Gradle, Ant & mehr 4
P Maven2 - wie mache ich externe Jar Dateien zu Artifacts? Tools - Maven, Gradle, Ant & mehr 15
N Maven2 Projekt unter Hudson mit SVN Repository erstellen Tools - Maven, Gradle, Ant & mehr 4
H Maven2 -> Nachladen der Dependencies Tools - Maven, Gradle, Ant & mehr 4
J Anfängerfragen zu maven2 Tools - Maven, Gradle, Ant & mehr 2
U Maven2 WAR Plugin doppelte Dependencies Tools - Maven, Gradle, Ant & mehr 4
S Maven pom.xml, Error: Plugin execution not covered by lifecycle configuration Tools - Maven, Gradle, Ant & mehr 3

Ähnliche Java Themen


Oben