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

Nazgulled

Noob em java, peguei em código open-source, + de 3000 erros :P

18 mensagens neste tópico

Acho que o titulo diz tudo... tou pela primeira vez a inicar-me em Java. Não tenho conhecimentos nenhuns de Java mas pelo que vi a sintaxe é bastante parecida com a junção de vb.net + php + c, linguagens que me sinto bastante a vontade, logo, não terei dificuldades neste departamento. Com isto, quero dizer que a minha dúvida não está propriamente em programar, mesmo apesar de não saber nada, pa aprender o básico, desenrasco-me bem... O problema é o seguinte.

O Java Runtime Environment já o tinha instalado ha muito tempo para as aplicações em java funcionarem, instalei agora o Java Development Kit e o IDE Eclipse. Saquei do SVN de determinado projecto (PassReminder) o código que estava no "trunk" e criei um projecto no eclipse com esse código. O eclipse reportou + de 3000 erros e 1 warning. O warning já o resolvi com uma simples e rápida pesquisa no google, os 3000 erros é que não faço ideia como resolver nem se quer os percebo.

Se alguém puder ajudar agradecia... Anexo todo o código fonte do programa bem como os ficheiros do projecto do eclipse. Acho estranho sacar o código do svn e ter uma quantidade enorme de erros, supostamente devia funcionar sem eu ter que mudar muita coisa não?

Acho que me está a escapar algum pormenor básico... Ajudem-me sff!

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Neste momento não te posso ajudar porque não tenho o Netbeans mas que tipo de erros te dão? Já tentaste com outro IDE? Netbeans por exemplo...

Ah, já agora... Sintaxe de Java não tem nada a ver com VB.NET... :D É parecido com C mas orientado a objectos.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Java parecido com VB.NET + PHP + C ???? De PHP só se for a parte dos objectos e mesmo assim a diferença ainda é alguma C só mesmo a sintaxe porque a metodologia de programação é completamente diferente pá e VB.NET não tou a ver grandes semelhanças loll :D

Relativamente aos 3000 erros o meu conselho é esquecer se queres realmente aprender Java e se queres aprender vendo codigo acho melhor começares por aplicações simples daquelas primitavas do maior, factorial, sei que isto pode parecer ridiculo mas ajuda muito a perceber o funcionamento basico do java. Outro conselho que te posso dar é ler alguma coisa para acompalhar porque só com codigo podes saber como se faz mas muitas coisas nao vais perceber o porquê ....

PS : Até perceberes o basico evita programas com dezenas de files e que ja metem GUI como é o caso dessa que ai tens.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

antes de começares a aprender Java (ou pelo menos ao mesmo tempo) convém aprender programação orientada aos objectos.

a sintaxe da linguagem é bastante simples, mas há muitos conceitos que é necessário aprender para tirar partido das funcionalidades do Java.

quanto aos erro, nunca trabalhei com packages e pelo que percebi muitos dos erros (senão todos) estão no nome/definição de uma package (passreminder).

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vocês só falam de coisas que eu nunca falei, eu apenas disse que achava a sintaxe parecida com um mix dessas todas e continuo a achar... a syntaxe é bues de parecida com o C e o PHP tem uma syntaxe baseada em C logo o Java tb é parecido com C/PHP. E para mim, Java também é parecido com VB.NET do mesmo estilo que se faz determindas coisas com os pontinhos entre as palavras isto.aquilo.fazisto() no vb.net é a mesma coisa, pronto, pa ficar + parecido ainda, digo que a semalhança está mais com o C# e o C# é o melhor de VB.NET com C.

Segundo eu nunca disse que queria aprender Java :D e programação orientada a objectos já eu sei. O C++ tem disso, o PHP tem disso, o VB.NET/C# também. Eu não quero aprender Java, pelo menos agora, não tenho mesmo tempo nenhum. Quero sim, modificar o source daquele programa para corresponder as minhas necessidades. E para puder modificar o source, tenho de corrigir aqueles erros. Erros que me parecem ser de alguma definição mal ou algo que me está escapar na configuração do IDE ou do código ou de outra cena qualquer que eu não tou ver porque JAva não é a minha especialidade.

Só quero saber onde está essa pequena falha na configuração para puder investigar a aplicação e modificar o que quero... E não, não testei com outro IDE, mas isso não deveria ser necessário, algo está mal configurado no Eclipse, só quero saber o quê...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Vocês só falam de coisas que eu nunca falei...

acho que também disse de onde é que acho que vêm os erros...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Em vez do código podias ter colocado alguns dos erros, para mim era preferivel. Mas vou ver o código....

E um eclipse instalado normalmente não está mal configurado, pelo menos para java.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Os únicos erros que vejo são mesmo de package... tenho uns quantos warnings mas mais nada...

Das duas uma, ou renomeias o package de todas as classses ou crias uma estrutura no teu src de acordo com os pakages necessários.

Também tenho outro erro que tenho mas que não posso corrigir é a falta do package "org.eclipse" que não tenho. Não conheço este package e estou a usar o netbeans pelo que, se for um package de SWT/Eclipse, não o posso usar.

Os erros são bastante simples, não são erros de Java ou definições de IDE são erros provocados por teres retirado o código do SVN de forma errada, ou de ele estar colocado de forma errada no SVN, mas aposto mais na primeira :D

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

@Rui Carlos

eu sei que disseste e ajudou-me, mas quando disse isso apenas me estava a referir a parte da sintaxe...

ya, tive a investigar melhor e já consegui limar alguns erros, importei o projecto swt que saquei do site e falta-me um tal JFace, mas não consigo encontrar isso para download, alguem arranja ai o link?

Eu acho que não retirei o código do SVN de forma errada, ta tal e qual como aqui: http://passreminder.svn.sourceforge.net/viewvc/passreminder/trunk/passreminder/

Um dos problemas (e acho que é o que esta a causar tantos erros): No eclipse, existe um (default package) que são os ficheiros que estão na raiz do projecto. Todos estes ficheiros tem no topo package "passreminder"; mas a package passreminder não existe. Como é que posso mudar isto para a default package? Ou melhor ainda, como posso dar um nome a package considerada default package?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

O estado disto é o seguinte:

Tive que adicionar os seguintes projectos ao workspace:

- org.eclipse.core.commands

- org.eclipse.jface

- org.eclipse.swt

- org.eclipse.swt.win32.win32.x86

Agora, já só me restam 570 erros. Erros esses que me parecem estar relacionados com os pacotes como o Rui Carlos referiu anteriormente, já modifiquei um pouco a estrutura dos pacotes, mas mesmo assim isto continua com muitos erros e eu não sei como corrigir isto.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Para colocares no package correcto basta teres no tua pasta source a estrutura de directórios para cada package.

Eu disse que tiraste de forma errada porque devias ter usado um cliente SVN e teres feito um checkout ao trunk, coisa que penso não teres feito, até porque o link que colocaste está errado, devias ter tirado a pasta acima, http://passreminder.svn.sourceforge.net/viewvc/passreminder/trunk/, esta é a pasta correcta do projecto.

Para resolveres o problema podes simplesmente criar uma pasta "passreminder" dentro do teu src, depois copiares lá para dentro todos os ficheiros. O problema dos packages, que em java são apenas pastas, deve ficar resolvido.

Vou testar o SVN para ver se fico com tudo ou se existe algum erro no repositório...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Mas eu fiz mesmo isso, um checkout. Quanto ao link, pensava que o projecto em si fosse mesmo so o passreminder, mas depois xeguei a conclusão que o outro também era preciso... :D

Já ta tudo bem e já tou a perceber mais ou menos as coisas... Já tenho menos erros; os existentes tem de ser removidos manualmente, editar os ficheiros todos e apagar umas cenas. Se chegar ao fim e funcionar óptimo, se após este trabalho manual ainda tiver erros diferentes, colocarei aqui... para já acho que está ir tudo bem, só falta remover 300 erros manualmente lol... é uma questão de imports e packages que tem nomes errados e vou ver se resolvo isso e depois digo alguma coisa.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Já consegui eliminar todos os erros existentes, mas agora tenho uns quantos warnings em que a maior parte diz: "The field ______ is never read locally". Mas para já vou deixar ficar assim, no entanto esta-me a dar erros ao compilar e eu não os consigo perceber bem. Aqui está o output:

Exception in thread "main" java.util.MissingResourceException: Can't find bundle for base name messages, locale en_US

at java.util.ResourceBundle.throwMissingResourceException(Unknown Source)

at java.util.ResourceBundle.getBundleImpl(Unknown Source)

at java.util.ResourceBundle.getBundle(Unknown Source)

at passreminder.Messages.update(Messages.java:102)

at passreminder.PassReminder.main(PassReminder.java:711)

O que eu sei, é que o programa instalado, tem uma pasta chamada lang onde tem vários ficheiros de idiomas e eu suponho que o erro tem a ver com isso que não encontra o ficheiro necessario. Não consigo perceber qual é mesmo a linha que ta a fazer load ao ficheiro e não consegue, porque queria perceber qual o caminho onde ele esta a procurar o ficheiro para o adicionar lá e depois voltar a compilar...

Será que já é mais fácil ajudarem-me agora?

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Acho que não fizeste os imports..

Antes do código mete:

import java.util.*;

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Isso não tinha muita lógica. É um projecto open-source todos os imports já deviam estar correctamente feitos... De qualquer forma, aquilo tem muitos ficheiros e eu não sei onde adicionar isso. Adicionei ao PassReminder.java que é onde esta o main() mas ele diz que não é usado localmente e dá aqueles erros na mesma...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites
at passreminder.Messages.update(Messages.java:102)

at passreminder.PassReminder.main(PassReminder.java:711)

esta duas linhas dizem-te onde é que o erro/excepção ocorreu...

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

e as anteriores significam o quê?

essas linhas indicam-te o percurso da excepção, mas só as últimas duas são pontos do código das tuas classes.

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