Problemas ao compilar servlets com ANT

5 respostas
K

tenho o seguinte build:

<?xml version="1.0" encoding="iso-8859-1" ?>

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

   <property name="name" value="comercial"/>
	
   <property name="src" value="src"/>
	
   <property name="classes" value="classes"/>

   <mkdir dir="${classes}"/>
		
   <mkdir dir="${src}"/>
	
   <target name="compile">
   	  <echo>Compilando</echo>
	  <javac srcdir="${src}" destdir="${classes}" debug="on" deprecation="on"/>      
   </target>

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

</project>

mas ao executar ocorre o seguinte erro:

Buildfile: Z:\webapps\comercial\WEB-INF\build.xml compile: [echo] Compilando [javac] Compiling 8 source files to Z:\webapps\comercial\WEB-INF\classes [javac] Z:\webapps\comercial\WEB-INF\src\command\Command.java:3: package javax.servlet.http does not exist [javac] import javax.servlet.http.HttpServletRequest; [javac] ^ [javac] Z:\webapps\comercial\WEB-INF\src\command\Command.java:9: cannot resolve symbol [javac] symbol : class HttpServletRequest [javac] location: interface command.Command [javac] public String execute(HttpServletRequest request) throws ExceptionCommand; [javac] ^ [javac] 2 errors BUILD FAILED: Z:\webapps\comercial\WEB-INF\build.xml:23: Compile failed; see the compiler error output for details. Total time: 5 seconds

Alguém sabe o que pode ser ?

Obrigado!

5 Respostas

marcelo_mococa

tente assim:

<project name="jsp" default="war">
	<property name="src" value="src/java"/>
	<property name="build" value="target"/>

	<target name="compile">
		<javac srcdir="${src}" destdir="${build}/WEB-INF/classes">
			<classpath>
				<fileset dir="${build}/WEB-INF/lib"/>
			</classpath>
		</javac>  
	</target>
</project>

confira o nome dos diretórios…

K

fiz o que você indicou e não funcionou… ele continua reclamando o HttpServlet…

Quando já existe alguma classe compilada no pacote classes ele compila as outras sem problema…

Obrigado!

marcelo_mococa

sim ele compila novamente.

pelo q vi, vc colocou o build.xml dentro do web-inf.

Coloque-o na raiz do teu sistema e tente novamente. Confira os diretórios dos arquivos…

marcelo_mococa

vc colocou o servlet-api.jar na tua classpath?

K

Olá, consegui resolver assim:

<?xml version="1.0" encoding="iso-8859-1" ?>

Criando o diretório classes

Criando o diretório src

Criando o diretório lib

<echo>Configurando o classpath</echo>
<path id="project.class.path">
     <pathelement path="${src}"/>
     <pathelement path="${classes}"/>
     <pathelement path="${lib}\jsp-api.jar"/>
     <pathelement path="${lib}\servlet-api.jar"/>
     <pathelement path="${lib}\log4j-1.2.11.jar"/>
</path>

<echo>Compilando...</echo>
<target name="compile">
	<javac srcdir="${src}" destdir="${classes}">
		<classpath refid="project.class.path"/>
	</javac>  
</target>

E também coloquei o buid.xml na raiz do projeto!!

Muito Obrigado!

Criado 4 de agosto de 2005
Ultima resposta 4 de ago. de 2005
Respostas 5
Participantes 2