Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Ribeiro

??Activation.main: warning:?? O que pode ser?

Recommended Posts

Fala galera!!

 

Estou começando a programar em Java agora, e estou tendo dificuldades em resover o seguinte Warning em meu projeto:

 

Activation.main: warning: sun.rmi.activation.execPolicy system

property unspecified and no ExecPermissions/ExecOptionPermissions

granted; subsequent activation attempts may fail due to unsuccessful

ExecPermission/ExecOptionPermission permission checks. For

documentation on how to configure rmid security, refer to:

 

http://java.sun.com/j2se/1.4/docs/tooldocs/solaris/rmid.html

http://java.sun.com/j2se/1.4/docs/tooldocs/win32/rmid.html

 

Activation.main: an exception occurred: Port already in use: 1098; nested exception is:

java.net.BindException: Address already in use: JVM_Bind

java.rmi.server.ExportException: Port already in use: 1098; nested exception is:

java.net.BindException: Address already in use: JVM_Bind

at sun.rmi.transport.tcp.TCPTransport.listen(Unknown Source)

at sun.rmi.transport.tcp.TCPTransport.exportObject(Unknown Source)

at sun.rmi.transport.tcp.TCPEndpoint.exportObject(Unknown Source)

at sun.rmi.transport.LiveRef.exportObject(Unknown Source)

at sun.rmi.server.UnicastServerRef.exportObject(Unknown Source)

at sun.rmi.registry.RegistryImpl.setup(Unknown Source)

at sun.rmi.registry.RegistryImpl.<init>(Unknown Source)

at java.rmi.registry.LocateRegistry.createRegistry(Unknown Source)

at sun.rmi.server.Activation.main(Unknown Source)

Caused by: java.net.BindException: Address already in use: JVM_Bind

at java.net.PlainSocketImpl.socketBind(Native Method)

at java.net.PlainSocketImpl.bind(Unknown Source)

at java.net.ServerSocket.bind(Unknown Source)

at java.net.ServerSocket.<init>(Unknown Source)

at java.net.ServerSocket.<init>(Unknown Source)

at sun.rmi.transport.proxy.RMIDirectSocketFactory.createServerSocket(Unknown Source)

at sun.rmi.transport.proxy.RMIMasterSocketFactory.createServerSocket(Unknown Source)

at sun.rmi.transport.tcp.TCPEndpoint.newServerSocket(Unknown Source)

... 9 more

 

Se alguem tiver uma solução ou o siguinificado do erro acima favor responder.

 

Valew!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ao que parece, você está usando RMI. Em rmi podem ocorrer alguns problemas de acesso, pois o RMI não é permitido por "default", tem que pedir permissão pra JVM pra poder acessar... Procure sobre arquivos security.policy em java.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Homero valew pela dica kra!!Mas... tentando esclarecer algumas duvidas ainda, o que vem ser RMI??Onde posso encontrar estes arquivos security.policy que voce mencionou? Estava varrendo o disco aqui e nao encontrei. É algum arquivo de cofiguração?Valew!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

RMI é a sigla pra REMOTE METHOD INVOCATION, ou "chamada remota de métodos". Isso é utilizado para aplicações distribuídas baseadas em objetos distribuidos. Funciona da seguinte forma, ao invés de você ter um programa no servidor que fica esperando uma requisição pela rede, faz o serviço e dá de volta uma resposta, você tem um "objeto remoto" que fica na outra máquina que você pode chamar do seu próprio computador sem ter que lidar com detalhes como conexões em sockets tcp ou udp.

 

Os arquivos Security.policy são arquivos de configuração que você mesmo cria e passa como parâmetro para a máquina virtual java na hora em que executa o programa. Infelizmente não posso te dar mais detalhes pois só mexi com eles uma vez há muito tempo, então não lembro de nada... :-(

Mas se você procurar na documentação da JDK você pode achar mais informações sobre eles... Dê uma olhada nessa página que deve ter a informação que você procura: http://java.sun.com/j2se/1.5.0/docs/guide/rmi/index.html

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu encontrei um arquivo security.policy em um tutorial com este conteúdo:

 

grant {

permission java.security.AllPermission;

};

 

Não sei se vai servir p/ meu projeto, mas vou tentar!

Você saberia me dizer como passo por parâmetro p/ o JVM na hora da execusão do programa?

 

Em alguns tutorias são descritas algumas linhas de comando, ex:

 

rmid -J-Djava.security.policy=<security_policy_file> -J-Dsun.rmi.activation.execPolicy=<exec_policy> ... http://forum.imasters.com.br/public/style_emoticons/default/ermm.gif

 

Onde:

security_policy_file - é o nome do ficheiro com a política de segurança que o rmid deverá respeitar;

exec_policy - é a política que rmid deve adoptar quando cria uma JVM para executar um objecto activável.

 

Mas onde devo codificar esta linha de comando, saberia me dizer???

 

Obs.: Estou usando o Eclipse p/ rodar meus arquivos .java!

 

Abraço. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então... aí fica meio complicado... deve haver algum lugar no eclipse onde você pode adicionar o arquivo security.policy ao projeto, mas não sei não... Essas linhas de comando são pra quem roda o programa java "na unha" usando o prompt de comando.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.