Tengo un proyecto grande de Java Web Application usando Maven y necesito comenzar un nuevo proyecto que compartirá la mayor parte del mismo código (para que no tenga que repetir el trabajo), pero no todo. Voy a copiar el código compartido en un nuevo proyecto (llamémoslo "raíz"). ¿Cómo puedo hacer que mi Proyecto original dependa de la raíz del código fuente? No puedo dejarlo porque quiero cambiar la fuente antes de compilar.¿Cómo se usa Maven para compartir el código fuente de dos proyectos?
Respuesta
Debe refactor sus proyectos.
- identificar el código común
- extracto que en su propio módulo experto
2.1. generalmente las aplicaciones web son multimodulares, por lo que si va a compartir la biblioteca común en dos aplicaciones web, separe la biblioteca común en su propio ID de grupo - Cree e instale el archivo jar en su repositorio
- cambie los poms de las aplicaciones web para que dependan de su nueva biblioteca
Cree un proyecto convencional que contenga todo su código compartido. Mantenga el empaque de este proyecto (en el pom.xml principal) como jar. Esto ayudaría a hacer de este proyecto un tipo de biblioteca para su uso.
En todos los proyectos que tienen acceso al código compartido, agregue la dependencia para este proyecto de acuerdo a sus necesidades. (compilar, provisto).
Ahora paquete e instalar el proyecto compartido antes de construir cualquiera de los proyectos dependientes. Esto agregará el proyecto compartido a su repositorio local que luego puede ser utilizado por sus proyectos dependientes.
Adición pom.xml muestra para proyectos compartidos y dependientes.
Proyecto compartido pom.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>com.myspace.test</artifactId>
<groupId>com.myspace</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.myspace</groupId>
<artifactId>shared</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>shared-module</name>
<description>shared module which contains code shared by other modules.</description>
</project>
pom del proyecto dependiente.
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<artifactId>com.myspace.test</artifactId>
<groupId>com.myspace</groupId>
<version>0.0.1-SNAPSHOT</version>
</parent>
<groupId>com.myspace</groupId>
<artifactId>dependent-module</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>dependent-module</name>
<description>Dependent module.</description>
<dependencies>
<dependency>
<groupId>com.myspace</groupId>
<artifactId>shared</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
</dependencies>
</project>
El proyecto primario se puede agregar opcionalmente en caso de que se requiera tal organización. Espero que esto ayude.
instalar el código compartido, usando la configuración actual de los envases frasco:
mvn install
A continuación, puede crear una dependencia en el pom.xml hijo (el código que no se comparte) de cualquier repositorio que está instalando a.
Esta es una buena práctica, en general, no sólo para evitar la repetición de trabajo, sino también en caso de que desee cambiar la aplicación de los recursos compartidos. Puede cambiar la lógica en un lugar, instalarla en el repositorio y otros proyectos que dependen de ese código usarán el nuevo código la próxima vez que se compilen.
- 1. Cómo compartir código en proyectos de eclipse
- 2. Compartir código entre dos proyectos de git diferentes
- 3. Compartir código entre 2 proyectos sin dll
- 4. Control de código fuente para proyectos web
- 5. ¿Cómo compartir propiedades comunes entre varios proyectos de maven?
- 6. Compartir código entre proyectos en tfs 2010
- 7. ¿Qué fuente se usa en MS-DOS?
- 8. Eclipse: compartir código entre varios proyectos
- 9. Filtrar el código fuente en Maven
- 10. Desarrollo de proyectos de aplicación web Java para dos clientes
- 11. ¿Cómo debo organizar el control de código fuente para proyectos de Android, incluidas las bibliotecas?
- 12. ¿Puedo compartir código fuente entre proyectos en Eclipse (CDT) sin usar rutas absolutas?
- 13. Integración de proyectos Maven y no maven
- 14. Usando Maven para proyectos R
- 15. Cómo generar un JAR con el código fuente en Maven
- 16. SVN: la mejor forma de compartir código común en proyectos
- 17. recursos Compartir prueba entre experta en proyectos
- 18. Maven para proyectos web estáticos
- 19. Generación de código fuente de Maven Java para Hibernate
- 20. Android: cómo compartir código entre proyectos firmados con el mismo certificado
- 21. Compartir página aspx entre proyectos
- 22. ¿Cómo se usa gdb para depurar el código?
- 23. ¿Cómo compartir páginas cshtml en múltiples proyectos?
- 24. Maven usa el repositorio incorrecto para descargar
- 25. Fuente para programar el código fuente con LaTeX
- 26. ¿Alguno de los proyectos de código abierto usa FC++?
- 27. Averiguar qué compilador usa Maven
- 28. Mejores prácticas para el formato de código en proyectos grandes
- 29. Organización de proyectos usando Maven + Git
- 30. ClearCase para el control de código fuente?
Funciona para mí. Gracias. – teteArg