Configuración del Entorno de Desarrollo
Esta página explica en detalle el procedimiento para construir el entorno de desarrollo de fess. Desde la selección del IDE hasta la obtención del código fuente, ejecución y depuración, se explica paso a paso.
Requisitos del Sistema
Se recomiendan los siguientes requisitos de hardware para el entorno de desarrollo.
Requisitos de Hardware
CPU: 4 núcleos o más
Memoria: 8GB o más (se recomienda 16GB)
Disco: 20GB o más de espacio libre
Nota
Durante el desarrollo, fess y OpenSearch integrado se ejecutan simultáneamente, por lo que asegure suficiente memoria y espacio en disco.
Requisitos de Software
OS: Windows 10/11, macOS 11 o posterior, Linux (Ubuntu 20.04 o posterior, etc.)
Java: JDK 21 o posterior
Maven: 3.x o posterior
Git: 2.x o posterior
IDE: Eclipse, IntelliJ IDEA, VS Code, etc.
Instalación de Software Obligatorio
Instalación de Java
Se requiere Java 21 o posterior para el desarrollo de fess.
Instalación de Eclipse Temurin (Recomendado)
Se recomienda Eclipse Temurin (anteriormente AdoptOpenJDK).
Acceda a Adoptium
Descargue la versión LTS de Java 21
Instale siguiendo las instrucciones del instalador
Verificación de Instalación
Ejecute lo siguiente en la terminal o símbolo del sistema:
java -version
Si ve una salida como la siguiente, es exitoso:
openjdk version "21.0.x" 2024-xx-xx LTS
OpenJDK Runtime Environment Temurin-21.0.x+x (build 21.0.x+x-LTS)
OpenJDK 64-Bit Server VM Temurin-21.0.x+x (build 21.0.x+x-LTS, mixed mode, sharing)
Configuración de Variables de Entorno
Linux/macOS:
Agregue lo siguiente a ~/.bashrc o ~/.zshrc:
export JAVA_HOME=/path/to/java21
export PATH=$JAVA_HOME/bin:$PATH
Windows:
Abra «Editar las variables de entorno del sistema»
Haga clic en «Variables de entorno»
Agregue
JAVA_HOME:C:\Program Files\Eclipse Adoptium\jdk-21.x.x.x-hotspotAgregue
%JAVA_HOME%\binaPATH
Instalación de Maven
Instale Maven 3.x o posterior.
Descarga e Instalación
Acceda a la página de descarga de Maven
Descargue Binary zip/tar.gz archive
Extraiga y coloque en una ubicación apropiada
Linux/macOS:
tar xzvf apache-maven-3.x.x-bin.tar.gz
sudo mv apache-maven-3.x.x /opt/
sudo ln -s /opt/apache-maven-3.x.x /opt/maven
Windows:
Extraiga el archivo ZIP
Colóquelo en
C:\Program Files\Apache\maveno similar
Configuración de Variables de Entorno
Linux/macOS:
Agregue lo siguiente a ~/.bashrc o ~/.zshrc:
export MAVEN_HOME=/opt/maven
export PATH=$MAVEN_HOME/bin:$PATH
Windows:
Agregue
MAVEN_HOME:C:\Program Files\Apache\mavenAgregue
%MAVEN_HOME%\binaPATH
Verificación de Instalación
mvn -version
Si ve una salida como la siguiente, es exitoso:
Apache Maven 3.x.x
Maven home: /opt/maven
Java version: 21.0.x, vendor: Eclipse Adoptium
Instalación de Git
Si Git no está instalado, instálelo desde lo siguiente.
Windows: Git para Windows
macOS:
brew install gito página de descarga de GitLinux:
sudo apt install git(Ubuntu/Debian) osudo yum install git(RHEL/CentOS)
Verificación de instalación:
git --version
Configuración del IDE
En caso de Eclipse
Eclipse es el IDE recomendado en la documentación oficial de fess.
Instalación de Eclipse
Acceda a la página de descarga de Eclipse
Descargue «Eclipse IDE for Enterprise Java and Web Developers»
Ejecute el instalador y siga las instrucciones para instalar
Plugins Recomendados
Eclipse incluye los siguientes plugins por defecto:
Maven Integration for Eclipse (m2e)
Eclipse Java Development Tools
Importación del Proyecto
Inicie Eclipse
Seleccione
File>ImportSeleccione
Maven>Existing Maven ProjectsEspecifique el directorio del código fuente de fess
Haga clic en
Finish
Configuración de Ejecución
Seleccione
Run>Run Configurations...Haga clic derecho en
Java Applicationy seleccioneNew ConfigurationConfigure lo siguiente:
Name: fess Boot
Project: fess
Main class:
org.codelibs.fess.fessBoot
Haga clic en
Apply
En caso de IntelliJ IDEA
IntelliJ IDEA también es un IDE ampliamente utilizado.
Instalación de IntelliJ IDEA
Acceda a la página de descarga de IntelliJ IDEA
Descargue Community Edition (gratis) o Ultimate Edition
Ejecute el instalador y siga las instrucciones para instalar
Importación del Proyecto
Inicie IntelliJ IDEA
Seleccione
OpenSeleccione
pom.xmldel directorio del código fuente de fessHaga clic en
Open as ProjectSe importa automáticamente como proyecto Maven
Configuración de Ejecución
Seleccione
Run>Edit Configurations...Haga clic en el botón
+y seleccioneApplicationConfigure lo siguiente:
Name: fess Boot
Module: fess
Main class:
org.codelibs.fess.fessBootJRE: Java 21
Haga clic en
OK
En caso de VS Code
VS Code también es una opción si prefiere un entorno de desarrollo ligero.
Instalación de VS Code
Acceda a la página de descarga de VS Code
Descargue y ejecute el instalador
Instalación de Extensiones Necesarias
Instale las siguientes extensiones:
Extension Pack for Java: Conjunto de extensiones necesarias para desarrollo Java
Maven for Java: Soporte de Maven
Abrir Proyecto
Inicie VS Code
Seleccione
File>Open FolderSeleccione el directorio del código fuente de fess
Obtención del Código Fuente
Clonar desde GitHub
Clone el código fuente de fess desde GitHub.
git clone https://github.com/codelibs/fess.git
cd fess
Si usa SSH:
git clone git@github.com:codelibs/fess.git
cd fess
Truco
Si desarrolla bifurcando, primero bifurque el repositorio de fess en GitHub, luego clone su repositorio bifurcado:
git clone https://github.com/YOUR_USERNAME/fess.git
cd fess
git remote add upstream https://github.com/codelibs/fess.git
Construcción del Proyecto
Descarga de Plugins de OpenSearch
Se necesitan plugins para OpenSearch para ejecutar fess. Descárguelos con el siguiente comando:
mvn antrun:run
Este comando ejecuta lo siguiente:
Descarga de OpenSearch
Descarga e instalación de plugins obligatorios
Configuración de OpenSearch
Nota
Ejecute este comando solo la primera vez o al actualizar plugins. No necesita ejecutarlo cada vez.
Construcción Inicial
Construya el proyecto:
mvn clean compile
La construcción inicial puede llevar tiempo (descarga de bibliotecas de dependencias, etc.).
Si la construcción es exitosa, aparecerá el siguiente mensaje:
[INFO] BUILD SUCCESS
[INFO] Total time: xx:xx min
[INFO] Finished at: 2024-xx-xxTxx:xx:xx+09:00
Ejecución de fess
Ejecución desde Línea de Comandos
Ejecute usando Maven:
mvn compile exec:java
O empaquete y luego ejecute:
mvn package
java -jar target/fess-15.3.x.jar
Ejecución desde IDE
En caso de Eclipse
Haga clic derecho en la clase
org.codelibs.fess.fessBootSeleccione
Run As>Java Application
O use la configuración de ejecución creada:
Haga clic en el menú desplegable del botón de ejecución en la barra de herramientas
Seleccione
fess Boot
En caso de IntelliJ IDEA
Haga clic derecho en la clase
org.codelibs.fess.fessBootSeleccione
Run 'fessBoot.main()'
O use la configuración de ejecución creada:
Haga clic en el menú desplegable del botón de ejecución en la barra de herramientas
Seleccione
fess Boot
En caso de VS Code
Abra
src/main/java/org/codelibs/fess/fessBoot.javaSeleccione
Run Without Debuggingdesde el menúRun
Confirmación de Inicio
fess tarda 1-2 minutos en iniciarse. Si aparecen los siguientes registros en la consola, el inicio está completo:
[INFO] Boot Thread: Boot process completed successfully.
Verifique el funcionamiento accediendo a lo siguiente en el navegador:
Pantalla de búsqueda: http://localhost:8080/
Pantalla de administración: http://localhost:8080/admin/
Usuario predeterminado:
adminContraseña predeterminada:
admin
Cambiar Número de Puerto
Si el puerto predeterminado 8080 está en uso, puede cambiarlo en el siguiente archivo:
src/main/resources/fess_config.properties
# Cambiar número de puerto
server.port=8080
Ejecución de Depuración
Depuración en IDE
En caso de Eclipse
Haga clic derecho en la clase
org.codelibs.fess.fessBootSeleccione
Debug As>Java ApplicationEstablezca puntos de interrupción y rastree el comportamiento del código
En caso de IntelliJ IDEA
Haga clic derecho en la clase
org.codelibs.fess.fessBootSeleccione
Debug 'fessBoot.main()'Establezca puntos de interrupción y rastree el comportamiento del código
En caso de VS Code
Abra
src/main/java/org/codelibs/fess/fessBoot.javaSeleccione
Start Debuggingdesde el menúRun
Depuración Remota
También puede conectar un depurador a fess iniciado desde la línea de comandos.
Inicie fess en modo de depuración:
mvn compile exec:java -Dexec.args="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=*:5005"
Conecte depuración remota desde IDE:
Eclipse:
Seleccione
Run>Debug Configurations...Haga clic derecho en
Remote Java Applicationy seleccioneNew ConfigurationConfigure
Port: 5005Haga clic en
Debug
IntelliJ IDEA:
Seleccione
Run>Edit Configurations...Seleccione
+>Remote JVM DebugConfigure
Port: 5005Haga clic en
OKy ejecuteDebug
Configuraciones Útiles para el Desarrollo
Cambiar Nivel de Registro
Cambiar el nivel de registro al depurar permite verificar información detallada.
Edite src/main/resources/log4j2.xml:
<Configuration status="INFO">
<Loggers>
<Logger name="org.codelibs.fess" level="DEBUG"/>
<Root level="INFO">
<AppenderRef ref="console"/>
</Root>
</Loggers>
</Configuration>
Habilitar Hot Deploy
LastaFlute puede reflejar algunos cambios sin reiniciar.
Configure lo siguiente en src/main/resources/fess_config.properties:
# Habilitar hot deploy
development.here=true
Sin embargo, se requiere reiniciar para los siguientes cambios:
Cambios en la estructura de clases (agregar/eliminar métodos, etc.)
Cambios en archivos de configuración
Cambios en bibliotecas de dependencias
Operación de OpenSearch Integrado
En el entorno de desarrollo, se usa OpenSearch integrado.
Ubicación de OpenSearch:
target/fess/es/
Acceso directo a la API de OpenSearch:
# Lista de índices
curl -X GET http://localhost:9201/_cat/indices?v
# Búsqueda de documentos
curl -X GET http://localhost:9201/fess.search/_search?pretty
# Verificar mapeo
curl -X GET http://localhost:9201/fess.search/_mapping?pretty
Usar OpenSearch Externo
Si usa un servidor OpenSearch externo, edite src/main/resources/fess_config.properties:
# Deshabilitar OpenSearch integrado
opensearch.cluster.name=fess
opensearch.http.url=http://localhost:9200
Generación de Código con DBFlute
fess usa DBFlute para generar automáticamente código Java desde el esquema de OpenSearch.
Regeneración cuando el Esquema Cambia
Si cambia el mapeo de OpenSearch, regenere el código Java correspondiente con el siguiente comando:
rm -rf mydbflute
mvn antrun:run
mvn dbflute:freegen
mvn license:format
Explicación de cada comando:
rm -rf mydbflute: Eliminar directorio de trabajo de DBFlute existentemvn antrun:run: Descargar plugins de OpenSearchmvn dbflute:freegen: Generar código Java desde esquemamvn license:format: Agregar encabezado de licencia
Solución de Problemas
Errores de Construcción
Error: Versión antigua de Java
[ERROR] Failed to execute goal ... requires at least Java 21
Solución: Instale Java 21 o posterior y configure JAVA_HOME apropiadamente.
Error: Falla en descarga de bibliotecas de dependencias
[ERROR] Failed to collect dependencies
Solución: Verifique la conexión de red, limpie el repositorio local de Maven y vuelva a intentar:
rm -rf ~/.m2/repository
mvn clean compile
Errores de Ejecución
Error: El puerto 8080 ya está en uso
Address already in use
Solución:
Terminar proceso que usa el puerto 8080
O cambiar número de puerto en
fess_config.properties
Error: OpenSearch no se inicia
Verifique archivos de registro target/fess/es/logs/.
Causas comunes:
Memoria insuficiente: Aumentar tamaño del heap de JVM
Puerto 9201 en uso: Cambiar número de puerto
Espacio en disco insuficiente: Asegurar espacio en disco
IDE no Reconoce el Proyecto
Actualizar Proyecto Maven
Eclipse: Clic derecho en proyecto >
Maven>Update ProjectIntelliJ IDEA: Haga clic en
Reload All Maven Projectsen ventana de herramientasMavenVS Code: Ejecute
Java: Clean Java Language Server Workspacedesde paleta de comandos
Próximos Pasos
Una vez completada la configuración del entorno de desarrollo, consulte los siguientes documentos:
Arquitectura y Estructura del Código - Comprender estructura del código
Flujo de Trabajo de Desarrollo - Aprender flujo de trabajo de desarrollo
Construcción y Pruebas - Métodos de construcción y prueba
Guía de Contribución - Crear pull requests