[java] Ant icm Maven

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik gebruik al sinds een lange tijd ANT als buildtool voor mijn java projecten en ik ben er behoorlijk tevreden over. Ik heb een paar tasks toegevoegd (oa if else statements) waardoor het nog wat prettiger werkt, en het builden van een project kan je tot in de kleinste detail controleren..

Alleen mis ik controle na verloop van tijd over meerdere projecten. Ant heeft bv geen dependency checking naar afhankelijke bibliotheken. Ik heb maven er zelf wel eens opgehad, maar er is eigelijk niet veel van terecht gekomen (vooral omdat ik ANT als buildtool toch wil handhaven).

Maar is het ook mogelijk om beide tools met elkaar te combineren? Ik zat even door de Spring sources te bladeren en zag daar zowel een maven als een ant script staan, waarbij het ant script toch wel het belangrijkste was. Dus wie heeft ervaring met maven/ant-maven..

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik ben trouwens tegen dit project aangelopen:
http://antlion.sourceforge.net

en het kan verder gebruik maken van de repositories van maven. Ik denk dat dit is wat ik wil.. ANT handhaven maar toch projectdependencies.

[edit]
En nog een:
http://www.inversoft.com

[ Voor 11% gewijzigd door Alarmnummer op 11-02-2005 17:42 ]


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Eigenlijk zit ik nu met ongeveer dezelfde vraag, daarom vond ik het ook niet echt nodig om een nieuw topic te openen en hergebruik ik deze gewoon, die al aanwezig is in de topic-pool :)

Wij staan er voor het moment ook voor om al dan niet te kiezen voor Maven. Ik hoor veel goede zaken over Maven, maar sta er gelijkertijd ook wel wat wantrouwig tegenover. Waarom heb ik Maven nodig? Ik kan me goed uit de slag trekken met Ant en zie de echte voordelen van Maven eigenlijk niet echt in.

Ok, je hebt een repository waarmee je library dependencies mee kan checken.. maar wat dan nog en heb je het écht nodig? Mij lijkt de opzet en het beheer van een met Maven gebuilde omgeving meer werk te zijn dan een met Ant gebuilde omgeving.

Wie heeft er al wat met Maven gedaan (en ook bekend met Ant) en wat vind je er nu zelf van? De moeite of niet?

  • Antediluvian
  • Registratie: Maart 2002
  • Laatst online: 04-05 10:30
je kan in de maven.xml build file in plaats van jelly script gewoon ant script gebruiken.

Dit is makkerlijk te doen door middel van namespaces, bv:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<project default="db"
    xmlns:j="jelly:core"
    xmlns:u="jelly:util"
    xmlns:m="jelly:maven"
    xmlns:doc="doc"
    xmlns:ant="jelly:ant">

    <property name="data.dir" value="data"/>
    
    <goal name="project:DB" description="Runs HSQLDB database management UI against the database file--use when application is not running">
        <ant:java classname="org.hsqldb.util.DatabaseManager" fork="yes">
            <classpath refid="maven.dependency.classpath"/>
            <arg value="-driver"/>
            <arg value="org.hsqldb.jdbcDriver"/>
            <arg value="-url"/>
            <arg value="jdbc:hsqldb:${data.dir}/mydb"/>
            <arg value="-user"/>
            <arg value="sa"/>
        </ant:java>
    </goal>
        
    <goal name="Project:build">
        <!-- Any ant task, or jelly tags can go here thanks to jeez -->
        <j:set var="goals" value="clean:clean,hibernate:code-generation,java:jar-resources,java:compile,hibernate:schema-export" />     
        <u:tokenize var="goals" delim=",">${goals}</u:tokenize>
        <j:forEach items="${goals}" var="goal" indexVar="goalNumber">
            %%%%% Now attaining goal number ${goalNumber}, which is ${goal} %%%%%
            <attainGoal name="${goal}" />
        </j:forEach>
    </goal>
</project>


Je kan ook in een maven goal een ant target uit je build.xml laten runnen.

[ Voor 22% gewijzigd door Antediluvian op 17-03-2005 14:18 ]


  • -FoX-
  • Registratie: Januari 2002
  • Niet online

-FoX-

Carpe Diem!

Jellyscript is nog zo een van die zaken waar ik niet blij van wordt. Maar dat zou in Maven v2 wel vervangen worden door Java..

De voordelen die ik tot hiertoe in maven zie zijn:
• Je werkt modulair, elk stuk van je code zit opgesplitst (ear,war,sar,jar,har,...) en heeft elk ook een apart build script... je kan dus elk stuk apart builden en wordt automatisch mee opgepikt door het algemene build script (reactor). Ook als je een module toevoegt wordt deze automatisch mee opgepikt door het algemene build script.
• Je definieert je build ipv ant code te schrijven, zodanig dat het eigenlijke build code schrijven redelijk beperkt blijft tot enkele lijnen code
• Je definieert je dependencies en gebruikt deze vanop een centrale plaats zodanig dat je geen libs meer in je project hoeft te kopieren....
• nieuwe functionaliteit nodig; download extra plugin en configureer en je kan weer verder...

Maar het kan me toch niet echt overhalen.. misschien net omdat ik Ant _/-\o_ juist zo lekker vind werken..

  • jAnO!
  • Registratie: Januari 2002
  • Laatst online: 01-05 18:22

jAnO!

lalalavanillevla

Even het projectje van wat collega's van me pluggen:

Misschien heb je hier ook wat aan..

http://toolforge.sourceforge.net

When some people work at a place for ten years they get ten years of experience, other people work at a place for ten years and get one year of experience ten times.


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
-FoX- schreef op donderdag 17 maart 2005 @ 17:43:
Jellyscript is nog zo een van die zaken waar ik niet blij van wordt. Maar dat zou in Maven v2 wel vervangen worden door Java..

De voordelen die ik tot hiertoe in maven zie zijn:
• Je werkt modulair, elk stuk van je code zit opgesplitst (ear,war,sar,jar,har,...) en heeft elk ook een apart build script... je kan dus elk stuk apart builden
Dat kan je met ANT ook.
en wordt automatisch mee opgepikt door het algemene build script (reactor).
Dat niet ;)
• Je definieert je build ipv ant code te schrijven, zodanig dat het eigenlijke build code schrijven redelijk beperkt blijft tot enkele lijnen code
Ik ben altijd wel maatwerk nodig en zie niet in hoe dat gereduceerd kan worden. Verder kunnen macro`s je ANT-leven ook een stuk fijner maken.
• Je definieert je dependencies en gebruikt deze vanop een centrale plaats zodanig dat je geen libs meer in je project hoeft te kopieren....
Idd.. zwak punt van ANT
• nieuwe functionaliteit nodig; download extra plugin en configureer en je kan weer verder...
Kan je met ANT ook, alhoewel het niet echt automagisch gaat. Alle project specifieke ant/support libraries voeg ik toe aan mijn project in een supportlib. Hierdoor weet ik zeker dat iedereen met de juiste libraries voor dat project werkt + ze ook altijd bij zich heeft.
Maar het kan me toch niet echt overhalen.. misschien net omdat ik Ant _/-\o_ juist zo lekker vind werken..
Idd.. het enigste dat ik graag zou willen zijn die project dependencies.. Ik moet nog steeds met de tools die ik in mijn 2e reply heb gepost gaan spelen. Het probleem is dat ik op dit moment daar neit veel aan heb aangezien wij op dit moment met technische vernieuwingen bezig zijn en het verstandig is om nu een techniek stop te introduceren zodat het gene dat er nu nieuw bij is gekomen, ook echt goed uit de verf kan komen.

[ Voor 8% gewijzigd door Alarmnummer op 17-03-2005 18:00 ]


  • Antediluvian
  • Registratie: Maart 2002
  • Laatst online: 04-05 10:30
Je kan toch maven gebruiken voor de dependencies te beheren en voor al de rest ant gebruiken.
Pagina: 1