• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

pedrotuga

Como definir a main class no netbeans?

6 mensagens neste tópico

Estou a tentar desenvolver o meu robot para o robocode no netbeans. Criei um projecto, adicionnei-lhe um ficheiro .java, chapei-lhe o código do meu robot, importei as bibliotecas todas e tal, vou a compilar aquilo e nicles batatoides... "no main classes found"

Como é que faço para definir a classe principal?

Ok.... se eu clicar com o botao direito no ficheiro .java onde está o código do meu robot e escolher "compile file" compila sem probs. no entanto curtia saber como por isto a compilar clicando apenas no botao de compilar.

Mas agora surgiu-me outra duvida... como é que importo a documentação javadoc do robocode? o javadoc é distribuido com o robocode, mas não consigo sincroniza-lo de forma a poder ler a documentação em tempo real enquanto programo.

PS: uuui... agora a desenvolver assim à pró... ai que tareão que os vossos robots vão apanhar!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para dizeres que uma classe é a "main class" ela precisa ter um método main. O botão que estás a tentar usar não é para compilar é para correr, o que inevitávelmente obriga a que as classes do projecto sejam compiladas.

Se não me engano os robots apenas podem ser corridos dentro do Robocode, podes usar qualquer IDE para criar mas para os testares tens de usar o Robocode. Assim, adicionar o método main a uma classe não vai ajudar muito. Mas posso estar a ver mal o que queres fazer.

Se adicionares um método com a assinatura: public static void main(String[] args) à tua classe e carregares no botão então deve aparecer uma caixa de diálogo a perguntar qual a classe que queres executar, apartir daí, se não existirem mais classes com método igual o IDE usa sempre essa classe.

Para adicionares o javadoc, as bibliotecas que estás a usar precisam ser registadas no IDE e não apenas no projecto.

Se estiveres a usar o Netbeans 5.5/5.5.1 podes ver isso em Tools -> Library Manager. A partir daí as opções são bastante fáceis de perceber.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

pois... tambem já pensei nisso. um robot não tem método principal, o robocode é que tem e este por sua vez é que carrega o robot, estupidez minha, não ligues. Anyway, aquilo compila que é um espectaculo usando o método que eu referi acima.

Agora a documentação é que me está a deixar fulo.

Já adicionei as pastas que têm o javadoc e nada. Mas para ver se eu percebo.

No library manager crio uma biblioteca, escolho os jars para essa biblioteca, podem ser os do robocode, e depois escolho as directorias do javadoc. Depois, no meu projecto, em vez de adicionar os jars ao meu projecto adiciono essa bilioteca que criei? É assim? é que já adicionei os jars do robocode manualmente...:S

Segundo o que diz na documentação tambem posso usar o java platform manager. Alguem me explica o que é que estou a fazer ao adicionar uma 'plataforma java'?

EDIT: ok, já consigo ver a documentação, adicionei uma bibliotecacomo referi acima.

O problema agora é que o robot compila todo contente, aparece-me lá na lista de robots do robocode, mas quando o adiciono a uma batalha... nicles batatoides... n aparece nada... que coisa esquisita.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

já descobri qual é o problema... a path acaba por ficar incluida no nome do robot que depois fica com um nome muito comprido, o máximo sao 12 caracteres.

Ehehe.... este tópico tá giro, eu faço perguntas e respodo às mesmas. Isto sem tirar valor aos prestaveis knitter e magician

Mas ok.. vamos la ver como solucionar isto... uma solução rápida é criar um shellscript que copia o robot.class para a raíz do projecto do netbeans. Mas era porreiro que nao fosse preciso isto...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Ao adicionares uma plataforma Java, estás a dizer ao IDE onde está o JDK de uma outra versão do Java, isto é, podes ter todas as versões de Java que existem instaladas na tua máquina e registadas no IDE para poderes escolher fácilmente entre uma delas. Essa opção é muito útil quando estás a criar código e tens a exigencia do teu código ser compatível com a versão 1.4, 5.0 e 6.0, por exemplo, mas tem mais usos, embora o uso que os programadores lhe dão seja quase sempre esse.

Queres copiar o robot.class para a pasta de projecto do Netbeas? mas não estás a compilar com o Netbeans? se estás então o robot.class já está na pasta certa... ou querias dizer "copiar para a pasta do robocode"?, se for isso lembra-te que o Netbeans IDE funciona como uma camada em cima de outras tecnologias, isto é, o IDE não faz quase nada sozinho, neste caso, compilar, apagar, mover, copiar é tudo feito com Ant, se precisares de copiar os ficheiros para algum lado podes adicionar uma tareda Ant e fazer isso automáticamente. Não me perguntes é como se faz que Ant ainda só conheço o básico :P

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

ehehe... topaste tudo! sim.. queria dizer: copiar para a pasta do robocode.

Pois, isso é gajo, eu tambem não percebo nada de ANTscript, mas é para isso que serve este IDE, para dar conta do ANT ehehehe...

Mas sim, eu estou a compilar o robot com o netbeans, o robocode vem com o jikes o netbeans acho que usa o javac. Mas acho que isso nao deve ser problema. Mas isto é fixe porque basta premir F9 e o netbeans compila-me o ficheiro. Agora vamos la ver como mudar a sua localização.

Já está tudo como medo do meu robot?

uma pergunta muito simples para um principiante

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora