Tomando uma surra do Eclipse.. =( ajuda!

Olá pessoal, estou quebrando a cabeça…já entrei em diversos sites e não consigo nada.

Seguinte…: Tenho que criar um arquivo .war, para instalar no servidor tomcat.

Baixei o eclipse, instalei o tomcat, o plugin dele no eclipse e não consigo compilar uma aplicação no eclipse!!!

eu jah mexi… mas só compilei classes normais… sem servlet,
jah importei o pacote servlet, tal… adicionei uns .jar, e blz… mas na hora de compilar ele pede uma classe q tenha o método main(), mas em servlets temos somente o método ini() certo?? Dai não consigo compilar nada!

Alguem pode passar um arquivo ai… passo a passo… por favor… estou a uma semana tentando fazer isso… e o máximo que cheguei foi ai… só faltou compilar , instalei inclusive o plugin para gerar o .war, eu consigo gerar ele, mas quando instalo no tomcat… não aparece na página de administração as classes pra eu clicar… igual a HelloWorld do servlet-examples.

1 semana gente… e não consigo… quem puder… me ajuda!!

Cara, por favor, descreva passo-a-passo como vc está executando sua aplicação.

cliquei em new project, escolhi Tomcat project, adicionei umas classes, inclusive uma q tem o método ini(); e os métodos normais de um servlet.

cliquei em Run…, crei uma nova configuração, mas quando vou compilar ele pede q eu selecione uma classe que tenha o método main().

mas em servlet não tem o método main()… dai ele nao deixa eu escolher a q tem o método ini() pra compilar :frowning:

Baixe o Eclipse + Web Tools

Ele vem com todas as ferramentas necessárias para o desenvolvimento de aplicações Web, incluindo o suporte ao Tomcat que você está utilizando.

Web Tools Project

Web Tools Project Tutorials
http://www.eclipse.org/webtools/community/communityresources.html#tutorials

Para criar o war nele, basta você ir em File -&gt Export -&gt War File
É tudo muito simples.

Espero ter ajudado.

certo, consegui pegar o eclipse com wtp. Mas mesmo assim não consigo compilar… jah defini o server tal… mas quando vou compilar ele da esse erro:

Could not find the main class. Program will exit.

java.lang.NoClassDefFoundError: org/apache/catalina/startup/Bootstrap
Exception in thread “main” .

o que pode estar acontecendo??

Você está tentando executar sua aplicação como? Pois como se trata de uma aplicação Web não há a necessidade de um método main. Será que sem querer você não está tentando executá-la como “Java Application”?

então isso eu entendi… por isso não estou entendendo o erro!! eu clico em run… apache tomcat, dai criei uma nova configuração e especifiquei meu tomcat(4.1) e escolho esta pra compilar… e ta dando esse erro ai :\

help?

o melhor é você fazer um ant script, procure nos tutoriais do guj, sobre isso,

ou aqui http://ant.apache.org/manual/

Li sobre o ant, tem bastante coisa legal… mas eu sou iniciante… e só queria compilar meu projeto…(só tem um servlet)…

esse codigo é suficiente para distribuir um aplicacao (.war) no tomcat. voce tem que setar esse build.properties de acordo com seu projeto.
coloca esses arquivos na raiz do seu projeto, e no eclipse, vai em run - external tools – ant build file

build.properties:

[code]# Aplicação
nomeApp=nomeapplicacao
tmpDir=tmp

Tomcat

tomcat=C:/java/Tomcat 5.0
username=admin
password=
url=http://localhost:8080/manager[/code]

build.xml:

[code]&lt?xml version=“1.0” encoding=“ISO-8859-1” ?&gt

<taskdef name="deploy"
		 classpath="${tomcat}/server/lib/catalina-ant.jar"
		 classname="org.apache.catalina.ant.DeployTask" />
<taskdef name="undeploy"
		 classpath="${tomcat}/server/lib/catalina-ant.jar"
		 classname="org.apache.catalina.ant.UndeployTask" />

<target name="limpar">
	<delete file="${tmpDir}/${nomeApp}.war" />
	<mkdir dir="${tmpDir}" />
</target>

<target name="empacotar" depends="limpar">
	<jar destfile="${tmpDir}/${nomeApp}.war">
		<fileset dir="." includes="WEB-INF/**" />
		<fileset dir="." includes="META-INF/**" />
	</jar>
</target>

<target name="undeploy">
	<undeploy url="${url}" username="${username}"
			  password="${password}" path="/${nomeApp}" />
</target>

<target name="deploy" depends="empacotar">
	<deploy url="${url}" username="${username}"
			password="${password}" war="${tmpDir}/${nomeApp}.war"
			path="/${nomeApp}" />
</target>

[/code]

Buildfile: C:\Documents and Settings\dantoy\workspace\Teste\build.xml

BUILD FAILED
C:\Documents and Settings\dantoy\workspace\Teste\build.xml:35: XML document structures must start and end within the same entity.

Total time: 1 second

o que acontece?

coloquei um no final e o erro mudou para:

Buildfile: C:\Documents and Settings\dantoy\workspace\Teste\build.xml

BUILD FAILED
C:\Documents and Settings\dantoy\workspace\Teste\build.xml:8: taskdef class org.apache.catalina.ant.DeployTask cannot be found

Total time: 921 milliseconds

certo vi na net q tinha q adicionar catalçina-ant.jar no classpath, ok adicionei… e quando tava quase dando certo… quase… olha o q aconteceu:

Buildfile: C:\Documents and Settings\dantoy\workspace\Teste\build.xml
limpar:
[delete] Deleting: C:\Documents and Settings\dantoy\workspace\Teste\tmp\Teste.war
empacotar:
[jar] Building MANIFEST-only jar: C:\Documents and Settings\dantoy\workspace\Teste\tmp\Teste.war
deploy:

BUILD FAILED
C:\Documents and Settings\dantoy\workspace\Teste\build.xml:33: java.net.MalformedURLException: no protocol: tmp\Teste.war

Total time: 8 seconds

linha 33:

<target name="deploy" depends="empacotar"> <deploy url="${url}" username="${username}" password="${password}" war="${tmpDir}\${nomeApp}.war" path="/${nomeApp}" /> </target>

gerou o war no seu tmpdir pelo menos?
qual versão do seu tomcat?

gerou um war… mas as class nao tao dentro… gerou com as web-inf tal… mas sem nada…

*somente um arquivo chamado “manifest” dentro da pasta web-inf

*eu tenho só um servlet.

*tomcat: 4.1

sua .class tem que ficar no diretorio projeto\WEB-INF\classes\pacote
e seu web.xml tem que estar no diretorio projeto\WEB-INF
ai ele gera corretamente

mas já está assim :frowning:


ei?

vai no menu project -&gtproperties, em java build path, aba source e muda seu default output folder, para /Teste/WEB-INF/classes, e joga o arquivo web.xml nesse diretorio WEB-INF.
a task deploy talvez não funciona com versão antiga do tomcat, troque por uma mais atual