Bonjour,
Je suis actuellement de developper un web server glassfish ayant pour but de creer des jars a partir de projets deja compilés.
J'utilise ant pour faire ceci mais je suis bloqué face à une erreur NoClassDefFoundError sur la class Locator. J'ai ajouté les librairies ant.jar et ant-launcher.jar au projet.
voici mon code :
Voici mon fichier xml d'une appli type helloworld :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 String baseDir = getServletContext().getRealPath("/Projets/HelloMobile/build.xml"); Project ant = new Project(); ProjectHelper helper = new ProjectHelperImpl(); //ajout d'un écouteur pour voir les événements générés par ANT org.apache.tools.ant.DefaultLogger log = new org.apache.tools.ant.DefaultLogger(); log.setErrorPrintStream(System.err); log.setOutputPrintStream(System.out); log.setMessageOutputLevel(Project.MSG_INFO); ant.addBuildListener(log); helper = ProjectHelper.getProjectHelper(); ant.addReference("ant.projectHelper",helper); ant.init(); helper.parse(ant, new File(baseDir)); ant.executeTarget("build");
et enfin le log de l'erreur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 <project name="HelloMobile" default="jar" basedir="."> <description>Builds, tests, and runs the project .</description> <target name="clean"> <delete dir="dist/HelloMobile.jar"/> </target> <!-- target qui cree le JAR --> <target name="build" depends="clean"> <!-- creation d un repertoire pour le JAR --> <mkdir dir="dist"/> <!-- creation du JAR, dans mon exemple son nom sera monProjet.jar --> <jar destfile="dist/HelloMobile.jar" basedir="build"> <manifest> <!-- on indique la classe principale du JAR --> <attribute name="Main-Class" value="hello.Midlet"/> </manifest> </jar> </target>
Si vous avez une idée, je suis preneur.WC1406: Servlet.service() for servlet installjar threw exception java.lang.NoClassDefFoundError: org/apache/tools/ant/launch/Locator at org.apache.tools.ant.util.FileUtils.fromURI(FileUtils.java:1261) at org.apache.tools.ant.Location.<init>(Location.java:87) at org.apache.tools.ant.Location.<init>(Location.java:70) at org.apache.tools.ant.helper.ProjectHelperImpl$TaskHandler.init(ProjectHelperImpl.java:741) at org.apache.tools.ant.helper.ProjectHelperImpl.handleElement(ProjectHelperImpl.java:615) at org.apache.tools.ant.helper.ProjectHelperImpl.access$600(ProjectHelperImpl.java:52) at org.apache.tools.ant.helper.ProjectHelperImpl$ProjectHandler.startElement(ProjectHelperImpl.java:460) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(AbstractSAXParser.java:491) at com.sun.org.apache.xerces.internal.parsers.AbstractXMLDocumentParser.emptyElement(AbstractXMLDocumentParser.java:220) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:872) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693) at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834) at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:764) at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:148) at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1242) at org.apache.tools.ant.helper.ProjectHelperImpl.parse(ProjectHelperImpl.java:133) at Instjar.installjar.processRequest(installjar.java:70) at Instjar.installjar.doGet(installjar.java:193) at javax.servlet.http.HttpServlet.service(HttpServlet.java:718) at javax.servlet.http.HttpServlet.service(HttpServlet.java:831) at org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFilterChain.java:411) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:290) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:271) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:202) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:206) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:150) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632) at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:571) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:1080) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:272) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.invokeAdapter(DefaultProcessorTask.java:637) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.doProcess(DefaultProcessorTask.java:568) at com.sun.enterprise.web.connector.grizzly.DefaultProcessorTask.process(DefaultProcessorTask.java:813) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.executeProcessorTask(DefaultReadTask.java:341) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:263) at com.sun.enterprise.web.connector.grizzly.DefaultReadTask.doTask(DefaultReadTask.java:214) at com.sun.enterprise.web.portunif.PortUnificationPipeline$PUTask.doTask(PortUnificationPipeline.java:380) at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:265) at com.sun.enterprise.web.connector.grizzly.ssl.SSLWorkerThread.run(SSLWorkerThread.java:106)
Merci d'avance
Partager