Publicar Aplicação no Linux

Pessoal, tenho uma aplicação desenvolvida em java, struts, jsp, e ao publicar no tomcat instalado no linux ele funciona normal, mas ao publicar no tomcat instalado no linux kurumin apresenta a seguinte exceção:

alguém já passou por isso e sabe me dizer o que pode ser.

Obrigado

segue :

javax.servlet.ServletException: BeanUtils.populate
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1254)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)

root cause

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:264)
java.security.AccessController.checkPermission(AccessController.java:427)
java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1662)
java.lang.Class.checkMemberAccess(Class.java:2125)
java.lang.Class.getDeclaredMethods(Class.java:1762)
org.apache.commons.beanutils.MappedPropertyDescriptor$1.run(MappedPropertyDescriptor.java:386)
java.security.AccessController.doPrivileged(Native Method)
org.apache.commons.beanutils.MappedPropertyDescriptor.getPublicDeclaredMethods(MappedPropertyDescriptor.java:383)
org.apache.commons.beanutils.MappedPropertyDescriptor.internalFindMethod(MappedPropertyDescriptor.java:453)
org.apache.commons.beanutils.MappedPropertyDescriptor.findMethod(MappedPropertyDescriptor.java:527)
org.apache.commons.beanutils.MappedPropertyDescriptor.(MappedPropertyDescriptor.java:149)
org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptor(PropertyUtils.java:907)
org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:934)
org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808)
org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252)
org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:821)
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
sun.reflect.GeneratedMethodAccessor57.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:585)
org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:243)
java.security.AccessController.doPrivileged(Native Method)
javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:275)
org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:161)

Alias publicado no winodws funciona e no linux kurumin não

Você está usando algum converter específico para Datas (java.util.Date)???

não

Poisé, aconteceu o mesmo problema comigo da seguinte forma:

Utilizo a IDE eclipse para desenvolver aplicações J2SE e J2EE.
O meu problema consiste em que fiz um conjunto de classes que utiliza o reflect para verificar annotations definidos em classes.
Quando rodo uma aplicação Java (método public static void main(String[])) que está contido no mesmo projeto destas tais classes, ela funciona. Ou seja, o método Class.getDeclaredFields() retorna os atributos declarados nas classes que eu verifico os annotations.

No entanto, fiz uma aplicação web (J2EE) que utiliza essas mesmas classes mapeando-as através de arquivos JARs incluidos no arquivo WAR. No entanto, quando estas classes são chamadas para verificar os annotations de classes do meu projeto web, eles lançam essa mesma exceção

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
java.security.AccessController.checkPermission(AccessController.java:546)
java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1662)
java.lang.Class.checkMemberAccess(Class.java:2157)
java.lang.Class.getDeclaredFields(Class.java:1742)
br.ufsc.telemedicina.xml.xpath.XPathUtil.loadClass(XPathUtil.java:91)

Não sei mais o que fazer… já procurei na internet e não achei a solução.
Agradeço desde já qualquer ajuda.

Obrigado

Este erro é prq vc nao tem permissao em acessar os atributos das classes via Reflect neste caso vc precisa passar uma politica de segurança liberando o acesso:


permission java.lang.RuntimePermission 
	"accessDeclaredMembers.<class name>";

Leia mais:
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html#RuntimePermission

No tomcat passe como parametro na JVM

-Djava.security.policy=myPolicy

[quote=ramilani12]Este erro é prq vc nao tem permissao em acessar os atributos das classes via Reflect neste caso vc precisa passar uma politica de segurança liberando o acesso:


permission java.lang.RuntimePermission 
	"accessDeclaredMembers.<class name>";

Leia mais:
http://java.sun.com/developer/onlineTraining/Programming/JDCBook/appA.html#RuntimePermission

No tomcat passe como parametro na JVM

-Djava.security.policy=myPolicy [/quote]

Cara, valeu pela dica.
Mas ai surge outro problema:
Vou ter que customizar a linha da JVM em cada servidor que eu colocar a minha aplicação, sendo que estes servidores rodam outras aplicações que não são minhas.

Não tem como eu fazer um arquivo de configuração de permissões que fique dentro do arquivo WAR da minha aplicação, especificando que isto é somente para a minha aplicação?

Outro problema: Vou ter que especificar cada classe já existente e/ou novas que venho a criar, neste arquivo de permissões? Não tem como eu simplesmente dizer que toda a minha aplicação permite reflection?

Obrigado

Outro problema:

o tomcat de minha máquina (rodando o Ubuntu Gutsy 7.10), o qual uso para testes, roda como um serviço que inicia no boot do sistema operacional.
Fui atrás dos arquivos de policy e inseri o seguinte grant no arquivo <tomcat_home>/conf/policy.d/04webapps.policy:

grant {
permission java.lang.RuntimePermission	"accessDeclaredMembers.br.ufsc.telemedicina.np.xpath.XMLConfigNP_API";
};

Mesmo assim, o problema ainda acontece.
Não sei como resolver isso.
O tutorial passado não explica como fazer e eu não achei nada em pesquisa pelo Google.

obrigado

cara, estou tendo o mesmo problema ao rodar o struts-blank no ubuntu

java.security.AccessControlException: access denied (java.lang.RuntimePermission accessDeclaredMembers)
at java.security.AccessControlContext.checkPermission(AccessControlContext.java:323)
at java.security.AccessController.checkPermission(AccessController.java:546)
at java.lang.SecurityManager.checkPermission(SecurityManager.java:532)
at java.lang.SecurityManager.checkMemberAccess(SecurityManager.java:1662)
at java.lang.Class.checkMemberAccess(Class.java:2157)
at java.lang.Class.getDeclaredFields(Class.java:1742)
at org.apache.catalina.util.DefaultAnnotationProcessor.processAnnotations(DefaultAnnotationProcessor.java:131)
at org.apache.jasper.runtime.AnnotationHelper.postConstruct(AnnotationHelper.java:44)

Tanto do struts 1 quanto o struts 2. a mesma coisa no menta.

Coloquei o tomcat na pasta opt, tem todas as permissões necessárias para rodar e estou utilizando o eclipse com o plugin para tomcat, mas quando levanto o tomcat e acesso pelo browser dá isso.