que programar programacion libro jdk historia como codigos caracteristicas java virtual-machine vagrant

programar - programacion en java pdf



¿Vagrant es útil para los desarrolladores de java/javaee? (2)

No está del todo claro qué busca específicamente en términos de una respuesta.

OMI, el valor de las máquinas virtuales no es tanto para el entorno de desarrollo , sino para el entorno de ejecución . Cosas como mensajes / colas, servidores, bases de datos, servidores en la nube (por ejemplo, Swift), etc.

Esto es independiente del lenguaje. Por ejemplo, tenemos máquinas virtuales (no basadas en Vagrant) que incluyen Hadoop / HDFS / HBase, Swift, RabbitMQ y una variedad de contenedores.

Podríamos implementar en esas máquinas, pero las herramientas de desarrollo se ejecutan localmente. En mi opinión, habría pocas razones para desarrollarse en la máquina virtual, aunque no hay ninguna razón para que no pueda hacerlo , especialmente si se siente cómodo con Vim / Emacs / etc.

Sé que hay un contenedor de Tomcat para Vagrant, aunque no lo he usado.

Cuando se trabaja con java / javaee, la configuración del entorno de desarrollo habitual es tener todo localmente (instalación jdk, base de datos, servidor de aplicaciones, etc.). Conozco a mucha gente en ruby ​​/ js world que usa máquinas virtuales para el desarrollo (principalmente con vagrant).

Me pregunto si hay una manera eficiente de configurar env similares para java / javaee. Sospecho que puedo instalar fácilmente el servidor de base de datos y el servidor de aplicaciones junto con la versión jdk en dicha máquina virtual, pero ¿qué pasa con el desarrollo normal? Todavía necesito tener jdk instalado localmente, ¿verdad? (Necesito que mi IDE funcione correctamente) Necesito un experto para construir mi proyecto, por lo que necesito un representante local completo de expertos. Y luego necesito implementar mi aplicación en el servidor de aplicaciones de la máquina virtual.

No puedo ver ninguna ventaja real aquí (aún tengo partes del entorno en ambas máquinas). ¿Tienes alguna experiencia con eso y puedes compartir conmigo?


Vagrant es básicamente una herramienta para configurar una máquina virtual VirtualBox. Trae a la mesa la capacidad de aprovisionar rápidamente una máquina virtual y la capacidad de pasar la receta de aprovisionamiento a otros.

Esto es realmente útil en la comunidad de Ruby / JS porque no tienen un paso de compilación. La forma en que lo usamos es que el código permanece en mi máquina local y todo el tiempo de ejecución se realiza en la máquina virtual. Si realizo un cambio en mi computadora local, el programa que se ejecuta en la máquina virtual recoge instantáneamente el cambio y el tiempo de ejecución se modifica como si el código estuviera solo en la máquina virtual. Literalmente, ni siquiera tengo que tener Ruby / JS instalado en mi computadora.

En el mundo Java / .Net, tiene un paso de compilación, por lo que dice que necesita Java y todos los archivos jars que necesita compilar en su máquina. Esto disminuye algo de la utilidad de la configuración.

Por otro lado, normalmente tiene bases de datos, colas de mensajes, contenedores, etc. con los que está trabajando y en un equipo puede ser un dolor disparar un correo electrónico y decir actualizar su base de datos a esta versión y cargar los nuevos datos de muestra. En Vagrant, solo una persona necesita hacer las actualizaciones y luego pueden indicarle que tome la nueva máquina virtual y usted no tiene que hacer ninguno de los pasos de actualización.

Por lo tanto, sigue siendo útil en un lenguaje compilado, pero es menos útil que en un lenguaje de scripting.