quarta-feira, 24 de outubro de 2012

NoClassDefFoundError SessionLogEntry

Olá,

Hoje tive o erro java.lang.NoClassDefFoundError: org/eclipse/persistence/logging/SessionLogEntry ao fazer deploy da minha aplicação no WebSphere 8.

Segue log completo:

[23/10/12 14:31:14:570 BRST] 00000025 AppManagement W ADMA0116W: Unable to start: myapp-ear using: WebSphere:name=ApplicationManager,process=server1,platform=proxy,node=localhost8080Node01,version=8.0.0.0,type=ApplicationManager,mbeanIdentifier=ApplicationManager,cell=localhost8080Node01Cell,spec=1.0 exception is: javax.management.MBeanException: Exception thrown in RequiredModelMBean while trying to invoke operation startApplication
at javax.management.modelmbean.RequiredModelMBean.invokeMethod(RequiredModelMBean.java:1112)
[...]
Caused by: com.ibm.ws.exception.RuntimeError: java.lang.RuntimeException: java.lang.NoClassDefFoundError: org/eclipse/persistence/logging/SessionLogEntry
at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:753)
[...]
at org.eclipse.persistence.internal.sessions.AbstractSession.log(AbstractSession.java:4218)

O erro era porque eu não tinha nenhuma classe com @Entity na minha aplicação.. aí dava esse NoClassDefFoundError SessionLogEntry...

Ao adicionar essa classe:

package br.com.localhost8080.myapp;

import javax.persistence.Entity;

@Entity
public class MyTest {

}

O erro parou de acontecer!

Tive um erro semelhante a esse que postei em: http://localhost8080.blogspot.com.br/2012/10/nomodulefileexception.html

Vaaaaleu!!
Adriano Schmidt

quarta-feira, 10 de outubro de 2012

NoModuleFileException

Hoje tive o erro abaixo ao fazer deploy da minha aplicação no websphere 8:

Archive is not a valid EJB JAR File because the deployment descriptor can not be found (case sensitive): META-INF/ejb-jar.xml

org.eclipse.jst.j2ee.commonarchivecore.internal.impl.ModuleRefImpl initModuleFileFromEAR Ignoring ClassCastException [ org.eclipse.jst.j2ee.commonarchivecore.internal.impl.FileImpl incompatible with org.eclipse.jst.j2ee.commonarchivecore.internal.ModuleFile ]

org.eclipse.jst.j2ee.commonarchivecore.internal.exception.DeploymentDescriptorLoadException: dd_in_ear_load_EXC_]

Caused by: org.eclipse.jst.j2ee.commonarchivecore.internal.exception.NoModuleFileException: A file does not exist for module element having uri: myproject-ejb-1.0-SNAPSHOT.jar

Isso aconteceu pois era um projeto novo que eu estava criando e o meu jar de EJBs não tinha nehum EJB, não tinha nenhuma classe com @Stateless.

Se eu criasse uma classe como a classe abaixo o problema não acontecia mais.

@Stateless
public class MeuTesteServiceBean {

}

Vaaaleu!!
Adriano Schmidt

quinta-feira, 27 de setembro de 2012

constructor Service JAX-WS 2.2

Olá, hoje ao gerar um client para web services através de um wsdl (utilizei o gerador de client ws do eclipse) tive o seguinte erro de compilação:

Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project ProjectL8-ejb: Compilation failure: Compilation failure:
[exec] [ERROR] \work\workspaces\workspace-juno\ProjectL8\ProjectL8-ejb\src\main\java\br\com\localhost8080\wstest\ws\test\TestService.java:[39,8] cannot find symbol
[exec] [ERROR] symbol : constructor Service(java.net.URL,javax.xml.namespace.QName,javax.xml.ws.WebServiceFeature[])
[exec] [ERROR] location: class javax.xml.ws.Service

Isso acontece pois o maven está usando a classe Service errada:

javax.xml.ws.Service encontrada no "JDK SE 1.6" e no "JAX-WS 2.1" não tem este construtor com três parâmetros.

javax.xml.ws.Service encontrada no "JAX-WS 2.2" é a versão correta.

Você pode alterar o build-path diretamente do seu projeto para utilizar o jaxws-api.jar ou então alterar o seu pom para usar o "JAX-WS 2.2.x", basta adicionar no seu pom o que está no link a seguir:

http://jax-ws-commons.java.net/jaxws-maven-plugin/examples/using-jaxws22-on-jdk6.html

Vaaleu!!
Adriano Schmidt

terça-feira, 19 de junho de 2012

IDENTITY_INSERT OFF

Hoje um amigo aqui da empresa me perguntou:

"Adriano, usei a query abaixo em um banco SQLSERVER e deu esse erro ali, sabe o que pode ser?"
insert into my_table (id, description, situation_type) values (14, 'aaaa', 1);
Error: Não é possível inserir um valor explícito para a coluna de identidade na tabela 'my_table' quando IDENTITY_INSERT está definido como OFF.


Para resolver bastou tirar o id da query e deixar esse trabalho para o próprio banco de dados:

insert into my_table (description, situation_type) values ('aaaa', 1);

Pronto, resolvido!

Abraços!
Adriano Schmidt

sexta-feira, 13 de abril de 2012

firefox id is not defined

Opa..

Hoje meu código estava funcionando perfeitamente no IE e no Chrome, porém no firefox tive o erro:

myDiv is not defined

Meu código javascript estava assim:

myDiv.style.display = 'none';

Alterei para:

document.getElementById('myDiv').style.display = 'none';

E então funcionou em todos os browsers!

Abraaço!
Adriano Schmidt

quarta-feira, 4 de abril de 2012

Attribute name "checked" associated with an element type "input" must be followed by the ' = ' character.

Olá,

Em um projeto com JSF2 ao usar o atributo checked dessa forma:

<input type="radio" name="cc" onclick="test1(0); test2(0);" checked> <h:outputLabel value="#{i18n.test}"/> </input>

eu tive o seguinte erro:

08:49:06,576 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/localhost8080].[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception: javax.faces.view.facelets.FaceletException: Error Parsing /resources/localhost8080/TestFormComponent.xhtml: Error Traced[line: 138] Attribute name "checked" associated with an element type "input" must be followed by the ' = ' character.
at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:387) [:2.0.2-FCS]
at com.sun.faces.facelets.compiler.SAXCompiler.doCompile(SAXCompiler.java:361) [:2.0.2-FCS]
at com.sun.faces.facelets.compiler.Compiler.compile(Compiler.java:117) [:2.0.2-FCS]
at com.sun.faces.facelets.impl.DefaultFaceletFactory.createFacelet(DefaultFaceletFactory.java:331) [:2.0.2-FCS]

para resolver usei checked="checked":

<input type="radio" name="cc" onclick="test1(0); test2(0);" checked="checked"> <h:outputLabel value="#{i18n.test}"/> </input>

Simples assim : )

Abraços!
Adriano Schmidt

quarta-feira, 19 de outubro de 2011

Premature end of file

Hoje passei pelo seguinte erro:

15:44:41,274 ERROR [STDERR] java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: Premature end of file.
15:44:41,275 ERROR [STDERR] at java.util.XMLUtils.load(XMLUtils.java:59)
15:44:41,276 ERROR [STDERR] at java.util.Properties.loadFromXML(Properties.java:852)

Isso aconteceu pois usei o método loadFromXML da classe Properties passando um objeto InputStream como parâmetro, porém eu já tinha lido ele antes

byte [] b = new byte[1024];;
inputStream.read(b);

Comentando a linha "inputStream.read(b);" o problema foi resolvido.

Tentei dar um inputStream.close(), mas aconteceu o seguinte erro:

16:06:56,601 ERROR [STDERR] java.io.IOException: Read error
16:06:56,602 ERROR [STDERR] at java.io.FileInputStream.read(Native Method)
16:06:56,603 ERROR [STDERR] at org.apache.xerces.impl.XMLEntityManager$RewindableInputStream.read(Unknown Source)

Tentei dar um inputStream.reset(), mas aconteceu o seguinte erro:

16:07:37,719 ERROR [STDERR] java.io.IOException: mark/reset not supported
16:07:37,720 ERROR [STDERR] at java.io.InputStream.reset(InputStream.java:334)

Caso você não possa comentar a linha provavelmente terá que instanciar novamente o inputstream.

Abraços!
Adriano Schmidt

Content is not allowed in prolog

Hoje ao utilizar o método loadFromXML da classe Properties e obtive o seguinte erro:

15:44:59,704 ERROR [STDERR] java.util.InvalidPropertiesFormatException: org.xml.sax.SAXParseException: Content is not allowed in prolog.
15:44:59,706 ERROR [STDERR] at java.util.XMLUtils.load(XMLUtils.java:59)
15:44:59,707 ERROR [STDERR] at java.util.Properties.loadFromXML(Properties.java:852)

Aconteceu isso pois o meu arquivo não era um .xml, eu deveria ter usado o método load também da classe Properties.

Vaaleu!
Adriano Schmidt

sexta-feira, 19 de agosto de 2011

identifier of an instance of Entity was altered from 1 to null

Olá, hoje aconteceu o erro abaixo para mim:

identifier of an instance of br.com.localhost8080.MyEntity was altered from 1 to null

Sem querer eu estava alterando o id da entidade:

myEntity.setId(1);

isso causou o erro... se o erro está acontecendo pra você verifique no seu código se por algum motivo você não está trocando o id (chave) da entidade.

Vaaaleu!
Adriano Schmidt

sexta-feira, 15 de julho de 2011

Please specify a context-root compiler argument

Olá, hoje num projeto flex aqui aconteceu o seguinte erro:

The services configuration includes a channel-definition 'my-http' that has an endpoint with a context.root token but a context root has not been defined. Please specify a context-root compiler argument.

Para resolver cliquei com o botão direito no projeto, properties, flex compiler e em "additional compiler arguments" adicionei o seguinte no final da linha:

-context-root nomeDoContexto

Pronto! Problema resolvido!

Abraços,
Adriano Schmidt