Build file

9 respostas
D

Estou com o seguinte build.xml
<?xml version=“1.0” encoding=“ISO-8859-1”?>
<project name = “WorkFlow” default = “main” basedir = “.” >
<property environment = “env” />

&lt;property name = "build.lib"      value = "./WEB-INF/lib" /&gt;
&lt;property name = "build.dir"      value = "./WEB-INF/classes" /&gt;
&lt;property name = "src.dir"        value = "./WEB-INF/src" /&gt;
&lt;property name = "servlet.jar"    value = "${build.lib}/servlet-api.jar" /&gt;
&lt;property name = "jsp.jar"    	  value = "${build.lib}/jsp-api.jar" /&gt;
&lt;property name = "war.file"       value = "workflow" /&gt;
&lt;property name = "war.file.name"  value = "${war.file}.war" /&gt;
&lt;property name = "jboss.home"     value = "${env.JBOSS_HOME}" /&gt;
&lt;property name = "deploy.dir"     value = "${jboss.home}/server/default/deploy" /&gt;

&lt;path id = "project.class.path" &gt;
    &lt;pathelement path = "${build.lib}/commons-beanutils.jar" /&gt;
    &lt;pathelement path = "${build.lib}/commons-collections.jar" /&gt;
    &lt;pathelement path = "${build.lib}/commons-digester.jar" /&gt;
    &lt;pathelement path = "${build.lib}/commons-fileupload.jar" /&gt;
    &lt;pathelement path = "${build.lib}/commons-lang.jar" /&gt;
    &lt;pathelement path = "${build.lib}/commons-validator.jar" /&gt;
    &lt;pathelement path = "${build.lib}/jakarta-oro.jar" /&gt;
    &lt;pathelement path = "${build.lib}/struts.jar" /&gt;
    &lt;pathelement path = "${src.dir}" /&gt;
    &lt;pathelement path = "${servlet.jar}" /&gt;
    &lt;pathelement path = "${jsp.jar}" /&gt;
&lt;/path&gt;

&lt;target name = "clean" &gt;
    &lt;delete dir = "${build.dir}" includeEmptyDirs = "true" /&gt;
&lt;/target&gt;
    
&lt;target name = "prep"  depends = "clean" &gt;
    &lt;mkdir dir = "${build.dir}" /&gt;
&lt;/target&gt;
<target name = “compile” depends = “prep” >

<javac srcdir= “${src.dir}”

destdir="${build.dir}"

debug = “on”

deprecation = “on” >



<classpath refid = “project.class.path” />

</javac>

</target>
&lt;target name = "cleanWebApp" &gt;
    &lt;delete file = "${deploy.dir}/${war.file.name}" /&gt;
    &lt;delete dir  = "${deploy.dir}/${war.file}" includeEmptyDirs="true" /&gt;
&lt;/target&gt;

&lt;target name = "war" depends = "cleanWebApp" &gt;
    &lt;war warfile = "${war.file.name}" webxml = "./WEB-INF/web.xml"&gt;
        &lt;fileset dir = "./" includes = "*.*" exclude = "*.war, web.xml,
                **/WEB-INF/**/*.*, **/project-files/**/*.*" /&gt;
          &lt;webinf dir = "./WEB-INF" includes = "**/*"
            excludes="web.xml, **/*.jar, **/*.class" /&gt;
          &lt;classes dir = "${build.dir}" includes="**/*.properties" /&gt;
     &lt;/war&gt;
&lt;/target&gt;

&lt;target name = "deploy" depends = "war" &gt;
    &lt;copy todir ="${deploy.dir}" &gt;
        &lt;fileset dir= "./" includes = "${war.file.name}" /&gt;
    &lt;/copy&gt;
&lt;/target&gt;
&lt;target name = "main" depends = "clean, prep, cleanWebApp, compile, war" /&gt;

</project>

Executando no Eclipse da a seguinte mensagem:
[javac] BUILD FAILED: file:z:/website/totall/build.xml:42: Unable to find a javac compiler;
com.sun.tools.javac.Main is not on the classpath.
Perhaps JAVA_HOME does not point to the JDK
Total time: 1 second

A váriavel de ambiente JAVA_HOME esta apontando para a instalação. Somente este erro é gerado quando executo dentro do Eclipse. Na linha de comando o mesmo build funciona.

O que esta sendo feito de errado ?

9 Respostas

caiofilipini

Falta adicionar o tools.jar ao seu classpath. Ele fica em JAVA_HOME/lib. :wink:

[]'s

D

Informei na varieável de ambiente do windows esta jar e continua a ter o mesmo problema. Tem que configurar em algum lugar do Eclipse ? Aonde ?

caiofilipini

Sim!

:arrow: Vá em Project / Properties / Java Build Path / Libraries e clique em “Add External JARs”. Depois é só apontar pro tools.jar e correr pro abraço. :wink:

[]'s

D

Ja fiz conforme vc esta descrevendo, ja fiz até dentro do arquivo build.xml adicionando uma property e ainda continua a dar o mesmo erro.
Tem outra coisa que deve ser feito ?

aborges

Sim!

:arrow: Vá em Project / Properties / Java Build Path / Libraries e clique em “Add External JARs”. Depois é só apontar pro tools.jar e correr pro abraço. :wink:

[]'s

Isso adiciona o tools.jar em um projeto especifico … Acho q nao tem a ver com o Ant, jah que ele roda outro processo, independente do seu projeto.

aborges

Faz o seguinte …

Clica com o botao inverso do mouse na sua telinha do ANT no Eclipse e escolhe properties …

Lah tem uma “abinha” “classpath” …

Poe o tools.jar lah e tenta, ok

D

Blz aborges, muito obrigado pois agora funcionou…
grato.

caiofilipini

“aborges”:
Lah tem uma “abinha” “classpath” …

Poe o tools.jar lah e tenta, ok

Assim tem que fazer pra todos os buildfiles, não? Uma abordagem melhor então seria adicionar o tools.jar em Window / Preferences / Ant / Runtime / Classpath. :wink:

[]'s

aborges

“caiofilipini”:

Assim tem que fazer pra todos os buildfiles, não? Uma abordagem melhor então seria essa adicionar o tools.jar em Window / Preferences / Ant / Runtime / Classpath. :wink:

[]'s

Tem razao … Essa solução seria mais esperta …

Criado 25 de março de 2004
Ultima resposta 26 de mar. de 2004
Respostas 9
Participantes 3