Erro ao compilar

4 respostas
gfkauer

Olá,

Desde dontem venho tentando resolver um erro que ocorre ao compilar. Ao executar o build.xml me ocorre este erro:

BUILD FAILED
C:\Projetos\rai\build.xml:70: 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.
It is currently set to "C:\Arquivos de programas\Java\jre6"
A linha 70 ao que se refere esta dentro do comando
<target name="compile" depends="clean">
		<javac	destdir="${build.dir}/classes"
				debug="on"
				optimize="false"
	            deprecation="false"
				failonerror="true"
				source="1.4"
				target="1.4">
            <src path="${src.dir}"/>
            <classpath refid="classpath"/>
        </javac>

        <!-- Copia os arquivos de configuracao para ${build.dir} -->
        <copy todir="${build.dir}/classes">
            <fileset dir="${src.dir}" includes="**/*.xml,**/*.properties"/>
            <fileset dir="${hbm.dir}" includes="**/*.xml"/>
        	<fileset dir="${res.dir}" includes="**/*.xml,**/*.properties"/>
        </copy>
		<copy file="etc/applicationContextDB-prod.xml"
			tofile="${build.dir}/classes/applicationContextDB.xml"
			overwrite="true" verbose="true"/>
	</target>
mais precisamente é a linha que contém:
target="1.4">

Pesquisando aqui no GUJ e em outros locais sempre era indicado para avaliar se o JAVA_HOME apontava para o JDK e se o CLASSPATH continha o jar tools.jar.
Verifiquei, reescrevi, testei, mas não consigo acertar isto.

No meu JAVA_HOME posso o seguinte comando:
C:\j2sdk1.4.2_04;
Não tenho nenhuma variável de ambiente chamada CLASSPATH! Devo cria-la? Dentro do eclipse, em Window > Preferences > Java > Installed JREs, tenho 3 JDKs adicionados,
jdk1.4 (localizada no mesmo caminho do JAVA_HOME e com o check marcado)
jdk1.5(apontando pro local de instalação do mesmo)
jdk1.6(apontando pro local de instalação do mesmo)

Dentro do eclipse, em Window > Preferences > Java > Compiler, eu aponto pro 1.4 no qual o projeto foi criado.

Preciso de ajuda para configurar este build. Esta é uma aplicação muito antiga que deverá ser mantida mais algum tempo até sair o nova versão.

4 Respostas

drsmachado

Camarada, classpath indica o caminho apontado para que seja possível utilizar os recursos do java (incluindo o javac) a partir de qualquer local no SO.
Tente o seguinte, abra o prompt do DOS e digite

javac

Se a saída for o erro

'javac' não é reconhecido como um comando interno
ou externo, um programa operável ou um arquivo em lotes.

é que as variáveis de ambiente estão erradas.
Como você usa a IDE Eclipse, sugiro reinstalar o JDK, para garantir e alterar o arquivo settings do Eclipse, apontando a JDK que está em uso.

kenneth

Fala cara,

Por causa disso:

Perhaps JAVA_HOME does not point to the JDK.
It is currently set to “C:\Arquivos de programas\Java\jre6”

acho que sua variavel ta apontando pra pasta errada…

Acho que deveria ser algo como

// isso no Windows..
JAVA_HOME: C:\Arquivos de programas\Java\jdk1.6.0_24 // jdk... eh a versao
Path: <outros_paths>;%JAVA_HOME%\bin;

Abraco.

gfkauer

A aplicação em si foi criada com java 4.

Mesmo assim eu deveria ter no JAVA_HOME o jdk1.6?

drsmachado

O java 1.6 suporta tudo o que foi gerado em versões anteriores.
Não é isso que está gerando o erro.

Criado 4 de maio de 2011
Ultima resposta 4 de mai. de 2011
Respostas 4
Participantes 3