Fórum

Service builder doesn't build any classes although it says build succesful

Gerardo Flores Barrie, modificado 9 Anos atrás.

Service builder doesn't build any classes although it says build succesful

New Member Postagens: 19 Data de Entrada: 12/11/13 Postagens Recentes
Hi team, I want to post this which may be a very simple question. I'm sure I missed something because service builder is not building anIy clases when I run it. I created a portlet using Liferay IDE and then created a new service. I haven't modified anything else but as I said nothing gets created. Never happened before. I wish someone can point what I'm missing. I know if it built any class it should show in the console something like "writing... x file", but it only shows a warning saying that the service.jar was skipped because no files were specified.
""
Regards.
thumbnail
Manali Lalaji, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

Expert Postagens: 362 Data de Entrada: 09/03/10 Postagens Recentes
Hi Gerado,

Can you put your code of service.xml over here and also console/error log for more idea?
Gerardo Flores Barrie, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

New Member Postagens: 19 Data de Entrada: 12/11/13 Postagens Recentes
Hi Manali, here's the service.xml
<!--?xml version="1.0" encoding="UTF-8"?-->

<service-builder package-path="com.cide.cajaenlinea.econtinua">
	<author>Gerardo</author>
	<namespace>ECcaja</namespace>
	<entity name="MovimientosTesoreria" local-service="true" data-source="catalogosEvolution" remote-service="false" table="TTesoreriaMovimientos" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idMovimiento" type="int" primary="true" db-name="IdMovimiento"></column>
	<column name="idTipoMovimiento" type="int" db-name="IdTipoMovimiento"></column>
	<column name="idCatCuentaBancaria" type="int" db-name="IdCatCuentaBancaria"></column>
	<column name="idUsuario" type="int" db-name="IdUsuario"></column>
	<column name="idDivisaTipoCambio" type="int" db-name="IdDivisaTipoCambio"></column>
	<column name="idPoliza" type="int" db-name="IdPoliza"></column>
	<column name="idTipoIngreso" type="int" db-name="IdTipoIngreso"></column>
	<column name="idAFavorDePersona" type="int" db-name="IdAFavorDePersona"></column>
	<column name="idAFavorDeTipo" type="int" db-name="IdAFavorDeTipo"></column>
	<column name="folioMovimiento" type="int" db-name="FolioMovimiento"></column>
	<column name="numeroCheque" type="String" db-name="NumeroCheque"></column>
	<column name="concepto" type="String" db-name="Concepto"></column>
	<column name="fechaRegistro" type="Date" db-name="FechaRegistro"></column>
	<column name="debe" type="double" db-name="Debe"></column>
	<column name="haber" type="double" db-name="Haber"></column>
	<column name="fechaExpedicion" type="Date" db-name="FechaExpedicion"></column>
	<column name="fechaDeposito" type="Date" db-name="FechaDeposito"></column>
	<column name="pagado" type="boolean" db-name="Pagado"></column>
	<column name="ejercicioAnt" type="boolean" db-name="EjercicioAnt"></column>
	<column name="fechaEntrega" type="Date" db-name="FechaEntrega"></column>
	<column name="cfdSerie" type="String" db-name="CFDSerie"></column>
	<column name="cfdFolio" type="int" db-name="CFDFolio"></column>
	<column name="cfdMetodoPago" type="String" db-name="CFDMetodoPago"></column>
	<column name="cfdFormaPago" type="String" db-name="CFDFormaPago"></column>
	<column name="iddatosFacturacion" type="int" db-name="IdDatosFacturacion"></column>
	<column name="iddatosFacturacionAFavorDe" type="int" db-name="IdDatosFacturacionAFavorDe"></column>
	<column name="idtipoPago" type="int" db-name="IdTipoPago"></column>
	<column name="naturalezaMovimiento" type="String" db-name="NaturalezaMovimiento"></column>
	<column name="inhabilitado" type="boolean" db-name="Inhabilitado"></column>
	<column name="cantidad" type="int" db-name="Cantidad"></column>
	<column name="foliosRequerimiento" type="String" db-name="FoliosRequerimiento"></column>
	<column name="idCaja" type="int" db-name="IdCaja"></column>
	<column name="tipoFolio" type="int" db-name="TipoFolio"></column>
	<column name="idinformacionBancaria" type="int" db-name="IdInformacionBancaria"></column>
	<finder return-type="Collection" name="MovimientosIdMovimiento">
	<finder-column name="IdMovimiento"></finder-column>
	</finder>
	<finder return-type="Collection" name="MovimientosFolios">
	<finder-column name="FolioMovimiento"></finder-column>
	</finder>
	<finder return-type="Collection" name="MovimientosAFavorDe">
	<finder-column name="IdAFavorDePersona"></finder-column>
	<finder-column name="IdAFavorDeTipo"></finder-column>
	</finder>
	</entity>
	<entity name="AlumnosGeneralEmpleadoPIdentificacion" local-service="true" data-source="catalogosEvolution" remote-service="false" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager"> 
	<column name="MatriculaId" type="int" primary="true" db-name="MatriculaId"></column>
	<column name="RFC" type="String" db-name="RFC"></column>
	<column name="Programa" type="String" db-name="Programa"></column>
	<column name="Adscripcion" type="int" db-name="Adscripcion"></column>
	<column name="GralDescripcion" type="String" db-name="GralDescripcion"></column>
	<finder return-type="Collection" name="IdentificacionPMatricula">
	<finder-column name="MatriculaId"></finder-column>
	</finder>
	<finder return-type="Collection" name="IdentificacionPRFC">
	<finder-column name="RFC"></finder-column>
	</finder>
	</entity>
	<entity name="NumerosOrden" local-service="true" data-source="catalogosEvolution" remote-service="false" table="TNumsOrdenAFoliosMovimiento" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idOrden" type="int" primary="true" db-name="idOrden"></column>
	<column name="numOrden" type="int" db-name="numOrden"></column>
	<column name="folioMovimiento" type="String" db-name="FolioMovimiento"></column>
	<column name="rfcCliente" type="String" db-name="RFCCliente"></column>
	<column name="nombreCliente" type="String" db-name="NombreCliente"></column>
	<column name="calle" type="String" db-name="Calle"></column>
	<column name="colonia" type="String" db-name="Colonia"></column>
	<column name="pais" type="String" db-name="Pais"></column>
	<column name="codigoPostal" type="String" db-name="CodigoPostal"></column>
	<column name="delegacion" type="String" db-name="Delegacion"></column>
	<column name="digest" type="String" db-name="Digest"></column>
	<column name="respuesta" type="String" db-name="Respuesta"></column>
	<column name="total" type="double" db-name="Total"></column>
	<column name="afiliacion" type="String" db-name="Afiliacion"></column>
	<column name="store" type="String" db-name="Store"></column>
	<column name="terminal" type="String" db-name="Terminal"></column>
	<column name="numReferencia" type="String" db-name="NumReferencia"></column>
	<column name="numAutorizacion" type="String" db-name="NumAutorizacion"></column>
	<column name="verificado" type="boolean" db-name="Verificado"></column>
	<finder return-type="Collection" name="CompraPNumDeOrden">
	<finder-column name="numOrden"></finder-column>
	<finder-column name="FolioMovimiento"></finder-column>
	</finder>
	<finder return-type="Collection" name="CompraPorRFCCliente">
	<finder-column name="RFCCliente"></finder-column>
	</finder>
	</entity>
	<entity name="Alumnos" local-service="true" data-source="catalogosEvolution" remote-service="false" table="Alumnos" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="matriculaId" type="int" db-name="MatriculaId"></column>
	<column name="matricula" type="String" primary="true" db-name="Matricula"></column>
	<column name="apellidoPaterno" type="String" db-name="ApellidoPaterno"></column>
	<column name="apellidoMaterno" type="String" db-name="ApellidoMaterno"></column>
	<column name="Nombre" type="String" db-name="Nombre"></column>
	<column name="edoCivil" type="String" db-name="EdoCivil"></column>
	<column name="rfc" type="String" db-name="RFC"></column>
	<column name="curp" type="String" db-name="CURP"></column>
	<column name="sexo" type="String" db-name="Sexo"></column>
	<column name="pais" type="String" db-name="Pais"></column>
	<column name="entidad" type="String" db-name="Entidad"></column>
	<column name="municipio" type="String" db-name="Municipio"></column>
	<column name="calle" type="String" db-name="Calle"></column>
	<column name="Colonia" type="String" db-name="Colonia"></column>
	<column name="codigoPostal" type="String" db-name="CodigoPostal"></column>
	<column name="telefono" type="String" db-name="Telefono"></column>
	<column name="email" type="String" db-name="Email"></column>
	<finder return-type="Collection" name="AlumnoPMatricula">
	<finder-column name="MatriculaId"></finder-column>
	</finder>
	<finder return-type="Collection" name="AlumnoPRFC">
	<finder-column name="RFC"></finder-column>
	<finder-column name="CURP"></finder-column>
	</finder>
	</entity>
	<entity name="Generales" local-service="true" data-source="catalogosEvolution" remote-service="false" table="CatGenerales" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idGeneral" type="int" primary="true" db-name="IdGeneral"></column>
	<column name="rfc" type="String" db-name="RFC"></column>
	<column name="gralDescripcion" type="String" db-name="GralDescripcion"></column>
	<column name="inhabilitado" type="boolean" db-name="Inhabilitado"></column>
	<column name="idUsuario" type="int" db-name="IdUsuario"></column>
	<column name="fechaUltimoCambio" type="Date" db-name="FechaUltimoCambio"></column>
	<finder return-type="Collection" name="GeneralPRFC">
	<finder-column name="RFC"></finder-column>
	</finder>
	<finder name="GeneralPNombre" return-type="Collection">
	<finder-column name="GralDescripcion"></finder-column>
	</finder>
	</entity>
	<entity name="Paises" local-service="true" data-source="catalogosEvolution" remote-service="false" table="CatGeoPaises" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idcatGeoPaises" type="int" primary="true" db-name="IdCatGeoPaises"></column>
	<column name="paisNombre" type="String" db-name="PaisNombre"></column>
	<column name="gentilicio" type="String" db-name="Gentilicio"></column>
	</entity>
	<entity name="Estados" local-service="true" data-source="catalogosEvolution" remote-service="false" table="CatGeoEntidades" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idcatgeoEntidades" type="int" primary="true" db-name="IdCatGeoEntidades"></column>
	<column name="idcatgeoPaises" type="int" db-name="IdCatGeoPaises"></column>
	<column name="entDescripcion" type="String" db-name="EntDescripcion"></column>
	<column name="paises" type="Collection" entity="CatGeoPaises"></column>
	<finder name="PaisParaEntidad" return-type="Collection">
	<finder-column name="IdCatGeoPaises"></finder-column>
	</finder>
	</entity>
	<entity name="Municipios" local-service="true" data-source="catalogosEvolution" remote-service="false" table="CatGeoMunicipios" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idcatgeoMunicipios" type="int" primary="true" db-name="IdCatGeoMunicipios"></column>
	<column name="idcatgeoEntidades" type="int" db-name="IdCatGeoEntidades"></column>
	<column name="idmunicipio" type="int" db-name="IdMunicipio"></column>
	<column name="idCiudad" type="int" db-name="IdCiudad"></column>
	<column name="munNombre" type="String" db-name="MunNombre"></column>
	<column name="ciudadNombre" type="String" db-name="CiudadNombre"></column>
	<column name="inhabilitado" type="boolean" db-name="Inhabilitado"></column>
	<column name="estados" type="Collection" entity="CatGeoEntidades"></column>
	<finder name="municipiopId" return-type="Collection">
	<finder-column name="IdMunicipio"></finder-column>
	</finder>
	<finder return-type="Collection" name="MunicipioPNombre">
	<finder-column name="MunNombre"></finder-column>
	</finder>
	</entity>
	<entity name="CodigosPostales" local-service="true" data-source="catalogosEvolution" remote-service="false" table="CatGeoCP" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idcatgeocP" type="int" primary="true" db-name="IDCatGeoCP"></column>
	<column name="idcatgeoMunicipios" type="int" db-name="IdCatGeoMunicipios"></column>
	<column name="idcatgeoAsentamientos" type="int" db-name="IdCatGeoAsentamientos"></column>
	<column name="cP" type="int" db-name="CP"></column>
	<column name="colonia" type="String" db-name="Colonia"></column>
	<column name="oficina" type="int" db-name="Oficina"></column>
	<column name="municipiosparacP" type="Collection" entity="CatGeoMunicipios"></column>
	<finder name="MunicipioPCP" return-type="Collection">
	<finder-column name="IdCatGeoMunicipios"></finder-column>
	</finder>
	</entity>
	<entity name="EmpleadosParaCaja" local-service="true" data-source="catalogosEvolution" remote-service="false" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="claveempleado" type="int" db-name="claveempleado"></column>
	<column name="id" type="int" primary="true" db-name="Id"></column>
	<column name="nombre" type="String" db-name="Nombre"></column>
	<column name="paterno" type="String" db-name="Paternno"></column>
	<column name="materno" type="String" db-name="Materno"></column>
	<column name="nombres" type="String" db-name="Nombres"></column>
	<column name="fechaNacimiento" type="Date" db-name="FechaNacimiento"></column>
	<column name="lugarNacimiento" type="String" db-name="LugarNacimiento"></column>
	<column name="sexo" type="int" db-name="Sexo"></column>
	<column name="estadoCivil" type="int" db-name="EstadoCivil"></column>
	<column name="calle" type="String" db-name="Calle"></column>
	<column name="colonia" type="String" db-name="Colonia"></column>
	<column name="Cp" type="String" db-name="Cp"></column>
	<column name="delegacion" type="String" db-name="Delegacion"></column>
	<column name="estado" type="String" db-name="Estado"></column>
	<column name="tel1" type="String" db-name="Tel1"></column>
	<column name="email" type="String" db-name="Email"></column>
	<column name="curp" type="String" db-name="CURP"></column>
	<column name="rfc" type="String" db-name="RFC"></column>
	<column name="id_Adscripcion" type="int" db-name="Id_Adscripcion"></column>
	<column name="emailCia" type="String" db-name="EmailCia"></column>
	<finder return-type="Collection" name="EmpleadoPClave">
	<finder-column name="claveempleado"></finder-column>
	</finder>
	<finder return-type="Collection" name="EmpleadoPNombre">
	<finder-column name="Nombre"></finder-column>
	<finder-column name="Paterno"></finder-column>
	<finder-column name="Materno"></finder-column>
	<finder-column name="Nombres"></finder-column>
	</finder>
	<finder return-type="Collection" name="EmpleadoPEmail">
	<finder-column name="Email"></finder-column>
	<finder-column name="EmailCia"></finder-column>
	</finder>
	</entity>
	<entity name="EntidadesEContinua" local-service="true" data-source="catalogosEvolution" remote-service="false" table="CatEntidadesEducacionContinua" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="identidadeducacionContinua" type="int" primary="true" db-name="IdEntidadEducacionContinua"></column>
	<column name="coordinador" type="String" db-name="Coordinador"></column>
	<column name="descripcion" type="String" db-name="Descripcion"></column>
	<column name="precio" type="double" db-name="Precio"></column>
	<column name="fechaultimoCambio" type="Date" db-name="FechaUltimoCambio"></column>
	<column name="inhabilitado" type="boolean" db-name="Inhabillitado"></column>
	<column name="fechaInicio" type="Date" db-name="FechaInicio"></column>
	<column name="fechaTermino" type="Date" db-name="FechaTermino"></column>
	</entity>	
	</service-builder>


and the output:


build-service:
      [jar] Building MANIFEST-only jar: C:\lportal\plugins\portlets\caja-virtual-portlet\build-service-classpath.jar
   [delete] Deleting: C:\lportal\plugins\portlets\caja-virtual-portlet\build-service-classpath.jar.manifest
   [delete] Deleting: C:\lportal\plugins\portlets\caja-virtual-portlet\build-service-classpath.jar
     [echo] Loading jar:file:/C:/lportal/bundles/tomcat-7.0.42/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/system.properties
     [echo] Loading jar:file:/C:/lportal/bundles/tomcat-7.0.42/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/portal.properties
     [echo] Loading file:/C:/lportal/bundles/tomcat-7.0.42/webapps/ROOT/WEB-INF/classes/portal-ext.properties
     [echo] Loading jar:file:/C:/lportal/bundles/tomcat-7.0.42/webapps/ROOT/WEB-INF/lib/portal-impl.jar!/com/liferay/portal/tools/dependencies/portal-tools.properties
     [echo] java.lang.RuntimeException: Column MatriculaId not found
     [echo] 	at com.liferay.portal.tools.servicebuilder.Entity.getColumn(Entity.java:63)
     [echo] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder._parseEntity(ServiceBuilder.java:4883)
     [echo] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder.<init>(ServiceBuilder.java:707)
     [echo] 	at com.liferay.portal.tools.servicebuilder.ServiceBuilder.main(ServiceBuilder.java:228)
    [mkdir] Created dir: C:\lportal\plugins\portlets\caja-virtual-portlet\docroot\WEB-INF\service-classes
      [zip] Warning: skipping zip archive C:\lportal\plugins\portlets\caja-virtual-portlet\docroot\WEB-INF\lib\caja-virtual-portlet-service.jar because no files were included.
   [delete] Deleting directory C:\lportal\plugins\portlets\caja-virtual-portlet\docroot\WEB-INF\service-classes
BUILD SUCCESSFUL
Total time: 7 seconds
</init>
thumbnail
David H Nebinger, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

Liferay Legend Postagens: 14914 Data de Entrada: 02/09/06 Postagens Recentes
Gerardo Flores Barrie:

<entity name="MovimientosTesoreria" local-service="true" data-source="catalogosEvolution" remote-service="false" table="TTesoreriaMovimientos" session-factory="EvolutionSessionFactory" tx-manager="EvolutionTransactionManager">
	<column name="idMovimiento" type="int" primary="true" db-name="IdMovimiento"></column>

        ...
	<finder return-type="Collection" name="MovimientosIdMovimiento">
	<finder-column name="IdMovimiento"></finder-column>
	</finder>
	</entity>


Notice the case difference of idMovimiento vs IdMoviemiento?

Note that your naming is really wrong.

First column names end up being member fields in a java class. Therefore they should follow java naming standards, lower case first character.

Second, Spring typically uses java naming for bean names, so your session-factory should be "evolutionSessionFactory" instead.

Another critique, using the open/close tags for empty elements makes your XML verbose and hard to read. Personally I'd suggest going with <column name="idMovimiento" type="int" primary="true" db-name="IdMovimiento" /> as it is short and sweet.
thumbnail
Manali Lalaji, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

Expert Postagens: 362 Data de Entrada: 09/03/10 Postagens Recentes
Hi,

Right said by David. Also 1 more point to add on this, you can check on error log Column MatriculaId is not found.
A Finder needs to reference an existing column but seems like not able to get it.

HTH!
Gerardo Flores Barrie, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

New Member Postagens: 19 Data de Entrada: 12/11/13 Postagens Recentes
Hi Manali. As David said, I now have found that the errors were on the naming of all my finder columns. I corrected them and now service builder runs correctly. Thanks to both of you! Wonder why I couldn't have noticed such an issue.
thumbnail
Jack Bakker, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

Liferay Master Postagens: 978 Data de Entrada: 03/01/10 Postagens Recentes
Gerardo Flores Barrie:
...Wonder why I couldn't have noticed such an issue.


You showing code/xml and giving sufficient detail helped quicken resolution.
Gerardo Flores Barrie, modificado 9 Anos atrás.

RE: Service builder doesn't build any classes although it says build succes

New Member Postagens: 19 Data de Entrada: 12/11/13 Postagens Recentes
Hi, David.
I followed (most) of your suggestions in naming the entities. Specially I corrected the finder colmns becaue I believed that was preventing service builder to run properly. But it still doesn't build any clases. Can you point the cause of this?