2011-06-07 52 views
13

Estoy buscando implementar un servicio web que he escrito en Eclipse en un archivo EAR. Puedo exportarlo como GUERRA y desplegarlo en Tomcat todo bien y dandy, pero el producto final no estará en Tomcat, y no será un archivo WAR. Tendré que usar Websphere como servidor, a lo que tengo acceso y puedo implementar archivos EAR válidos ... si tuviera un archivo EAR para implementar.¿Cómo puedo crear un archivo EAR desde un proyecto web dinámico en Eclipse?

En resumen, ¿cómo puedo exportar un archivo EAR desde un proyecto web dinámico en Eclipse?

Respuesta

10

Necesita crear un Proyecto de aplicación empresarial (básicamente, un EAR) en Eclipse, agregar el Proyecto web dinámico al proyecto EAR y luego exportarlo todo.

+0

@ Matt-Por alguna razón, después de hacer esto, websphere me da un error: 'El archivo EAR podría estar corrupto y/o incompleto. Asegúrese de que la aplicación se encuentre en una Plataforma Java 2 compatible, Enterprise Edition (J2EE) Nivel para WebSphere Application Server. ¿Hay alguna configuración de configuración que me falta, tal vez? – ZKSteffel

+0

Me faltaba una gran cantidad de configuraciones, como lo muestran algunas de mis otras publicaciones. Así que una vez que obtuve las versiones correctas de mi idioma, pude crear el EAP con una dependencia en mi proyecto y asegurarme de que se incluyera application.xml, luego exportar esto como un archivo EAR. – ZKSteffel

+0

Lo siento, no fui más útil para resolver el error, pero me alegro de que lo haya hecho funcionar. –

1

para esto utilizo un script de compilación Ant, (puede crear un nuevo archivo Ant en Eclipse, almacenarlo en su raíz de proyecto web dinámico y luego hacer clic con el botón derecho> ejecutar cuando desee ejecutarlo desde eclipse. . Básicamente, como a continuación copiar su guerra a un directorio, $ {} earDir en el guión a continuación, y construir eso a un EAR (un EAR es sólo un tipo de JAR):

<target name="buildEar" depends="init"> 
    <copy tofile="${earDir}/" file="yourWarFile"/> 
    <copy tofile="${earDir}/META-INF/application.xml" file="localDirectory/application.xml"/> 
    <copy todir="${earDir}/META-INF"> 
     <fileset dir="localDirectory" includes="was.policy" /> 
    </copy> 
    <jar jarfile="localDir/something.ear" basedir="${earDir}"> 
     <!-- Define the properties for the Manifest file. --> 
     <manifest> 
      <attribute name="Implementation-Vendor" value="Company name"/> 
      <attribute name="Implementation-Title" value="Application Title"/> 
      <attribute name="Implementation-Version" value="version and build number"/> 
     </manifest>  
    </jar> 
</target> 

su was.policy el archivo será algo como esto (no es bueno dar todos los permisos, pero puede cambiarlo más tarde una vez que lo tenga funcionando):

// 
// Template policy file for enterprise application. 
// Extra permissions can be added if required by the enterprise application. 
// 
// NOTE: Syntax errors in the policy files will cause the enterprise application FAIL to start. 
//  Extreme care should be taken when editing these policy files. It is advised to use 
//  the policytool provided by the JDK for editing the policy files 
//  (WAS_HOME/java/jre/bin/policytool). 
// 

grant codeBase "file:${jars}" { 
}; 

grant codeBase "file:${connectorComponent}" { 
}; 

grant codeBase "file:${webComponent}" { 
}; 

grant codeBase "file:${ejbComponent}" { 
}; 

grant codeBase "file:${application}" { 
    permission java.security.AllPermission; 
}; 

Su archivo aplicacion.xml será algo como esto:

<?xml version="1.0" encoding="UTF-8"?> 
<application id="Application_ID" version="1.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/application_1_4.xsd"> 
    <display-name>yourAppName</display-name> 
    <module id="WebModule_1240219352859"> 
     <web> 
      <web-uri>yourWarFile.war</web-uri> 
      <context-root>urlToApplication</context-root> 
     </web> 
    </module> 
</application> 

Los id no debe ser aceptable que necesitan ser únicas por EAR creo (o es el servidor puedo recordar).

Espero que esto ayude.

+0

hey @gurnard, tengo un problema similar, excepto que necesito implementar mi '.ear' en' weblogic'. Estoy enfrentando algunos problemas al acceder al proyecto después de instalarlo en la consola de administrador de Oracle. No puedo entender cómo acceder a la página index.jsp que tiene mi proyecto. Alguna idea sobre lo que tal vez va mal? – TheLuminor

+0

esta es la pregunta que he publicado también, por favor, eche un vistazo, lo ayudaría a saber dónde estoy exactamente atorado. @gurnard http://stackoverflow.com/questions/34086464/how-to-correctly-deploy-a-ear-file-on-oracle-weblogic-administrator-console – TheLuminor

+0

Hola. Lo siento, nunca he trabajado con weblogic – Gurnard

Cuestiones relacionadas