Avatar billede tri Nybegynder
12. april 2002 - 10:17 Der er 7 kommentarer og
1 løsning

ANT og Java?

Jeg forsøger at builde en ear fil med ANT værktøjet, men får en række fejl.

Mappestruturen for de filer jeg forsøger at build er:

sample.ear/

sample.ear/META-INF/

sample.ear/META-INF/application.xml

sample.ear/META-INF/trifork-system-conf.xml

sample.ear/sample.jar/

sample.ear/sample.jar/META-INF/

sample.ear/sample.jar/META-INF/ejb-jar.xml

sample.ear/sample.war/

sample.ear/sample.war/WEB-INF/

sample.ear/sample.war/WEB-INF/web.xml
--------------------------------------





min build fil ser således ud:

<?xml version="1.0"?>



<project name="sample" default="build" basedir=".">



  <property name="builddir" value="${basedir}/build" />

  <property name="srcdir" value="${basedir}/src" />

  <property name="c:/trifork" value="" />

  <property name="ext.dirs" value="${c:/trifork}/lib/ext" />



  <target name="compile" >

    <mkdir dir="${srcdir}/sample.ear/sample.war/WEB-INF/lib"/>

    <javac srcdir="${srcdir}/sample.ear/sample.jar" extdirs="${ext.dirs}" />

    <javac srcdir="${srcdir}/sample.ear/sample.war" classpath="${srcdir}/sample.ear/sample.jar" extdirs="${ext.dirs}" />

  </target>



  <target name="build" depends="compile">

    <mkdir dir="${builddir}"/>

    <delete file="${builddir}/sample.ear" />

    <delete>

      <fileset dir="${srcdir}/sample.ear/sample.war/WEB-INF/lib"

              includes="com/**" />

    </delete>

    <copy todir="${srcdir}/sample.ear/sample.war/WEB-INF/lib">

      <fileset dir="${srcdir}/sample.ear/sample.jar/"

              includes="com/**/*.class" />

    </copy>

    <jar jarfile="${builddir}/sample.ear" basedir="${srcdir}/sample.ear" excludes="**/*.java" />

  </target>

</project>

--------------------------------





ud fejlen jeg får ser således ud:

Searching for build.xml ...
Buildfile: C:\Trifork\examples\stateless\.\build.xml

compile:
    [javac] Compiling 3 source files
    [javac] C:\Trifork\examples\stateless\src\sample.ear\sample.jar\com\trifork\ejb\tempconverter\TempConverter.java:9: cannot resolve symbol
    [javac] symbol  : class EJBObject 
    [javac] location: package ejb
    [javac] public interface TempConverter extends javax.ejb.EJBObject
    [javac]                                                ^
    [javac] C:\Trifork\examples\stateless\src\sample.ear\sample.jar\com\trifork\ejb\tempconverter\TempConverterBean.java:5: cannot resolve symbol
    [javac] symbol  : class SessionBean 
    [javac] location: package ejb
    [javac] public class TempConverterBean implements javax.ejb.SessionBean
    [javac]                                                    ^
    [javac] C:\Trifork\examples\stateless\src\sample.ear\sample.jar\com\trifork\ejb\tempconverter\TempConverterBean.java:35: cannot resolve symbol
    [javac] symbol  : class SessionContext 
    [javac] location: package ejb
    [javac]    public void setSessionContext (javax.ejb.SessionContext ctx) {}
    [javac]                                            ^
    [javac] C:\Trifork\examples\stateless\src\sample.ear\sample.jar\com\trifork\ejb\tempconverter\TempConverterHome.java:7: cannot resolve symbol
    [javac] symbol  : class CreateException 
    [javac] location: package ejb
    [javac] import javax.ejb.CreateException;
    [javac]                  ^
    [javac] C:\Trifork\examples\stateless\src\sample.ear\sample.jar\com\trifork\ejb\tempconverter\TempConverterHome.java:11: cannot resolve symbol
    [javac] symbol  : class EJBHome 
    [javac] location: package ejb
    [javac] public interface TempConverterHome extends javax.ejb.EJBHome
    [javac]                                                    ^
    [javac] C:\Trifork\examples\stateless\src\sample.ear\sample.jar\com\trifork\ejb\tempconverter\TempConverterHome.java:17: cannot resolve symbol
    [javac] symbol  : class CreateException 
    [javac] location: interface com.trifork.ejb.tempconverter.TempConverterHome
    [javac]    public TempConverter create () throws RemoteException, CreateException;
    [javac]                                                            ^
    [javac] 6 errors

c:\trifork\examples\stateless\build.xml:23: compile failed, messages should have been provided.

Total time: 0 seconds




Kan nogen hjælpe?


Avatar billede disky Nybegynder
12. april 2002 - 10:26 #1
De ting den ikke kan finde tilhører vist alle sammen J2EE.

Har du installeret J2EE og tilføjet J2EE.jar i din classpath ?

Hvis ikke prøv det, specielt det med classpath er vigtigt, nå ja at have den er jo også :)
Avatar billede tri Nybegynder
12. april 2002 - 10:32 #2
Jeg bruger ANT, som er incl. i en Trifork Enterprise server.

Så alt j2ee burde være ok?
Avatar billede disky Nybegynder
12. april 2002 - 10:55 #3
Måske set fra serverens side.

Men hvis CLASSPATH ikke explicit peger på J2EE.jar filen kan ant måske ikke se den.

Prøv at set den op.
Avatar billede geputzt Nybegynder
12. april 2002 - 10:59 #4
Må jeg have lov at spørge hvad ANT er?
Avatar billede tri Nybegynder
12. april 2002 - 11:40 #5
Tak disky.
Det var sku det med classpath
Avatar billede jkrag Nybegynder
12. april 2002 - 12:04 #6
geputzt => Du kunne jo oprette et spørgsmål med spørgsmålet :-)
Nej - ANT er et rent java-baseret buildværktøj der er lavet til brug som "erstatning" for f.eks. Unix/linux verdenens "make".
Det giver mulighed for at opsætte alle mulige egenskaber omkring build af et java projekt i et samlet skript. Så kan man også lave "funktioner" til f.eks. at genere javadoc og køre unittests.
Se iøvrigt:
http://jakarta.apache.org/ant/index.html
Avatar billede geputzt Nybegynder
12. april 2002 - 13:32 #7
jkrag --> Jeg siger mange tak!
Avatar billede disky Nybegynder
12. april 2002 - 14:51 #8
Det glæder mig :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester