2010-12-06 14 views
0

Je construisais et courais automatiquement avec l'EDI NetBean. Cela fonctionne bien avec le printemps. Cependant, maintenant je veux écrire mon propre fichier de construction Ant. Il construit avec succès, la seule chose est le ClassPathXmlApplicationContext semble comme il ne peut pas trouver le chemin de la classe à l'exécution. J'utilise Spring 3.0.5 avec les bibliothèques suivantes, mis dans le dossier lib:Le ressort est une erreur avec le fichier de construction Ant

org.springframework.beans-3.0.5.RELEASE.jar 
org.springframework.beans-sources-3.0.5.RELEASE.jar 
org.springframework.context.support-sources-3.0.5.RELEASE.jar 
org.springframework.context-3.0.5.RELEASE.jar 
org.springframework.context-sources-3.0.5.RELEASE.jar 
org.springframework.core-3.0.5.RELEASE.jar 
org.springframework.core-sources-3.0.5.RELEASE.jar 

La structure du dossier:

DevFortress

+ --- lib

+ - --src

+ config 

    +....... 

+ --- construction

+----classes 

    +----jar 

Je veux obtenir un contexte de mon devFortress.xml: ApplicationContext contexte = new ClassPathXmlApplicationContext ("DevFortress.xml"); A l'origine, DevFortress.xml se trouvait dans le package config du package src. Cependant, je veux juste faire fonctionner mon programme, donc je l'ai mis dans le dossier lib, les classes et le pot aussi, mais c'est sans espoir.

Voici mon fichier de construction:

<project name="DevFortress" basedir="." default="main"> 
    <property name="src.dir" value="src"/> 
    <property name="config.dir" value="${src.dir}/config"/> 
    <property name="build.dir" value="build"/> 
    <property name="classes.dir" value="${build.dir}/classes"/> 
    <property name="jar.dir" value="${build.dir}/jar"/> 

    <property name="main-class" value="Controller.Main"/> 

    <property name="lib.dir" value="lib"/> 

    <path id="classpath"> 
     <fileset dir="${lib.dir}" includes="**/*.jar"/> 
     <fileset dir="${config.dir}" includes="**/*.xml"/> 
    </path> 
    <target name="clean"> 
     <delete dir="${build.dir}"/> 
    </target> 

<target name="compile"> 
    <mkdir dir="${classes.dir}"/> 
    <javac srcdir="${src.dir}" destdir="${classes.dir}" classpathref="classpath"/> 
</target> 

<target name="jar" depends="compile"> 
    <mkdir dir="${jar.dir}"/> 
    <jar destfile = "${jar.dir}/${ant.project.name}.jar" basedir="${classes.dir}"> 
     <manifest> 
      <attribute name="Main-Class" value="${main-class}"/> 
     </manifest> 
    </jar> 
</target> 

<target name="run" depends = "jar"> 
    <java fork="true" classname="${main-class}"> 
      <classpath> 
       <path refid="classpath"/> 
       <path location="${jar.dir}/${ant.project.name}.jar"/> 
      </classpath> 
     </java> 
</target> 

<target name="clean-build" depends="clean,jar"/> 

<target name="main" depends="clean,run"/> 
</project> 

Quel est le problème avec ça?

Répondre

0

Avez-vous essayé tout, y compris les fichiers de configuration dans le processus de création de pot

+0

Comment puis-je inclure? – Amumu

+0

Copiez le fichier de configuration dans le fichier classes.dir avant de générer le fichier jar, de cette façon il sera dans le fichier –

+0

Yay! Ça marche! Merci beaucoup Mr.Aaron. Je suis tellement heureux maintenant. – Amumu

0

Aussi, mon schéma XML dans le fichier XML Spring:

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xmlns:aop="http://www.springframework.org/schema/aop" 
     xmlns:context="http://www.springframework.org/schema/context" 

     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd 
      http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.6.SEC01.xsd 
      http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.6.SEC01.xsd"/>