wlserver valid tools the remote plugin oxygen not instalar for does descargar java deployment properties weblogic ear

java - valid - weblogic system libraries eclipse



DeploymentException y clase no encontradas en el servidor de administración de WebLogic 11g (2)

Relacionado: cargue archivos de propiedades externas en la aplicación EJB 3 que se ejecuta en WebLogic 11

Utilizando Oracle Enterprise Pack para Eclipse, creé un Enterprise Project y lo llamé:

PropiedadesDemoEAR

También creó un módulo PropertiesDemoEARWeb en el que puse este código

(dentro de PropertiesDemoEARWeb / Java Resources / src / com.project.util):

package com.project.util; public class PropertiesFileHandler extends ApplicationLifecycleListener { private static final String FILE = "C:/etc/error.properties"; public void preStart(ApplicationLifecycleEvent evt) { System.out.println("/n/n/t/tInside preStart() method/n/n"); InputStream is = evt.getApplicationContext().getAppClassLoader().getResourceAsStream(FILE); try { Properties convertedProps = convertStreamToProperties(is); String userMissingError = convertedProps.getProperty("USER_MISSING_ERROR"); System.out.println("/n/n/t/tuserMissingError = " + userMissingError + "/n/n"); } catch (Throwable e) { e.printStackTrace(); } } public Properties convertStreamToProperties(InputStream is) throws IOException { System.out.println("/n/n/t/tInside convertStreamToProperties() method/n/n"); Properties props = new Properties(); if (is == null) { throw new FileNotFoundException("property file ''" + FILE + "'' not found"); } else { props.load(is); return props; } } }

Dentro de PropertiesDemoEAR / EarContent / META-INF / weblogic-application.xml

Agregué el siguiente oyente declarativamente:

<?xml version="1.0" encoding="UTF-8"?> <wls:weblogic-application xmlns:wls="http://xmlns.oracle.com/weblogic/weblogic-application" > <!--weblogic-version:10.3.5--> <wls:application-param> <wls:param-name>webapp.encoding.default</wls:param-name> <wls:param-value>UTF-8</wls:param-value> </wls:application-param> <wls:listener> <wls:listener-class> com.project.util.PropertiesFileHandler </wls:listener-class> </wls:listener> </wls:weblogic-application>

Haga clic derecho en el archivo PropertiesDemoEAR / Export / EAR / Destination:

C: / Oracle / Middleware / user_projects / domains / MyDomain / autodeploy

Cuando ejecuto WebLogic 11g a través de Eclipse, aparece este mensaje de error en la consola:

[ERROR] AdapterManager - ServletContainerAdapter manager not initialized correctly. <oracle.tip.adapter.apps.AppsConnectionFactory> ConnectionManager cm: weblogic.connector.outbound.ConnectionManagerImpl@12433e7-eis/Apps/Apps ManagedConnectionFactory mcf: oracle.tip.adapter.apps.AppsManagedConnectionFactory@4303022b <Jun 30, 2011 5:50:24 PM PDT> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID ''1309481424487'' for task ''0''. Error is: ''weblogic.management.DeploymentException: '' weblogic.management.DeploymentException: at weblogic.application.internal.flow. BaseLifecycleFlow$CreateListenerAction.run(BaseLifecycleFlow.java:176) at weblogic.security.acl.internal. AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120) at weblogic.application.internal.flow. BaseLifecycleFlow$BaseAction.invoke(BaseLifecycleFlow.java:104) at weblogic.application.internal. flow.HeadLifecycleFlow.createListener(HeadLifecycleFlow.java:117) Truncated. see log file for complete stacktrace Caused By: java.lang.ClassNotFoundException: com.project.util.PropertiesFileHandler at weblogic.utils.classloaders. GenericClassLoader.findLocalClass(GenericClassLoader.java:297)

Pregunta (s):

(1) ¿Qué estoy haciendo mal? ¿Por qué no puede encontrar mi clase PropertiesFileHandler?

(2) ¿Es adecuada la ubicación (c: /etc/error.properties) de mi archivo de propiedades o debería estar dentro del directorio MyDomain?

(3) ¿Existe un directorio predeterminado o un área de configuración simple que WebLogic carga archivos de propiedades a los que se puede acceder desde cualquier aplicación que se ejecute en WebLogic?


Intente asegurarse de que la clase esté en la carpeta / lib para la máquina donde se implementa la aplicación.


Lo conseguí trabajando ... El problema era que lo tenía configurado como proyecto web en lugar de un proyecto de utilidad de Java EE en Oracle Enterprise Edition para Eclipse.

Como proyecto web, estaba colocando archivos .class dentro de WEB-INF / classes en lugar de APP-INF.

Además, necesitaba poner error.properties dentro de mi dominio real.

C: / Oracle / Middleware / user_projects / domains / MyDomain

En lo que respecta a mi propia pregunta:

¿Existe un directorio predeterminado o un área de configuración simple que WebLogic carga archivos de propiedades a los que se puede acceder desde cualquier aplicación que se ejecute en WebLogic?

Si -Dweblogic.ext.dirs no está configurado, su valor predeterminado es $ DOMAIN / lib; $ WL_HOME / common / lib / ext; $ WL_HOME / server / lib / ext

Entonces, si almacena error.properties en $ DOMAIN / lib, estará en CLASSPATH y debería poder cargarlo usando getResourceAsStream ("error.properties")