[java] hibernate + ant + rare taskdef.

Pagina: 1
Acties:

  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Ik ben op dit moment met hibernate icm met ANT aan het spelen en ik loop toch een hele vage constructie aan:

XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    <target name="hibernate.make-ddl"
            description="Generate DB schema from the O/R mapping files">
        
        <taskdef    name="schemaexport"
            classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
            classpathref="project.class.path"/>
            
        <schemaexport   properties="hibernate.properties"
                        quiet="no"
                        text="no"
                        drop="no"
                        delimiter=";"
                        output="bla.ddl">

            <fileset dir=".">
                <include name="**/*.hbm.xml"/>
            </fileset>
        </schemaexport>
    </target>


Dit is gewoon fout omdat parameters voor een bepaalde taak niet aan de taskdef meegegeven mogen worden (wat hier dus wel gebeurt, namelijk classpathref="project.class.path"). En de taskdef had gewoon niet in een target moeten staan.

Ik snap niet waarom ze het niet als volgt doen (zoals iedere andere task)
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
    <taskdef    name="schemaexport"
            classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
            classpathref="hibernate.class.path">


    <target name="hibernate.make-ddl"
            description="Generate DB schema from the O/R mapping files">
        
            
        <schemaexport   properties="hibernate.properties"
                        quiet="no"
                        text="no"
                        drop="no"
                        delimiter=";"
                        output="bla.ddl"
                        classpathref="project.class.path">

            <fileset dir=".">
                <include name="**/*.hbm.xml"/>
            </fileset>
        </schemaexport>
    </target>


Zie ik iets raar over het hoofd ofzo?

[edit]
Ik ben er intussen volgens mij al een beetje achter. Ze zijn geloof ik echt een argument vergeten mee te nemen naar die task, en dat hebben ze opgelost om dat argument via de taskdef mee te geven. Imho broddelwerk. Ik heb verder ook nog geen argument gezien waarom ze dit hebben gedaan.

[ Voor 144% gewijzigd door Alarmnummer op 02-08-2004 16:45 ]


Verwijderd

Werkt het niet of snap je de werking niet? Ik denk dat ze dat argument meegeven aan taskdef als een soort hack.
Hoe dan ook je laatste voorbeeld gaat niet werken, je bent de closing tag vergeten ;)

[edit]
Crap! te laat ;)

[ Voor 7% gewijzigd door Verwijderd op 02-08-2004 16:50 ]


  • Alarmnummer
  • Registratie: Juli 2001
  • Laatst online: 09-07-2024
Verwijderd schreef op 02 augustus 2004 @ 16:49:
Werkt het niet of snap je de werking niet? Ik denk dat ze dat argument meegeven aan taskdef als een soort hack.
Ik had van zo`n bekend product toch wel iets beters verwacht.

Ik het het volgende maar gedaan om mijn classpaths niet onnodig te verneuken:

XML:
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
    <target name="hibernate.make-ddl"
            depends="compile.all"
            description="Generate DB schema from the O/R mapping files">
        
        <path id="foo.class.path">
            <pathelement path="${classes}"/>
            <path refid="hibernate.class.path"/>
        </path>
        
        <taskdef    name="schemaexport"
                    classname="net.sf.hibernate.tool.hbm2ddl.SchemaExportTask"
                    classpathref="foo.class.path"/>
        
        <schemaexport   properties="hibernate.properties"
                        quiet="no"
                        text="no"
                        drop="no"
                        delimiter=";"
                        output="bla.ddl">
        
            <fileset dir="${src.veiling}">
                <include name="**/*.hbm.xml"/>
            </fileset>
        </schemaexport>
    </target>


Dit draait als een tiet.

[ Voor 36% gewijzigd door Alarmnummer op 02-08-2004 16:54 ]