La diferencia entre classpath y modemlepath al importar el paquete jar en eclipse

En primer lugar, al importar el paquete jar, debe importarse a classpath.Si
se importa a moduelpath, se producirá un error al importar la interfaz (la interfaz no se puede encontrar)

La diferencia entre classpath y modulepath:
el concepto de ModulePath es similar a ClassPath, pero el paquete Jar o el archivo Jmod en ModulePath se trata como un Módulo, y el paquete Jar en ClassPath, independientemente de si es modular o no, se tratará como un paquete Jar tradicional.

Java9 ha establecido las siguientes reglas para garantizar que los paquetes y proyectos Jar antiguos se puedan migrar sin problemas a la nueva versión de Java:

Todos los paquetes Jar, clases, archivos de recursos, etc. en ClassPath están en
la clase de un módulo sin nombre en un módulo sin nombre. Puede ver y usar todos los paquetes exportados en la ruta del módulo, todos los
paquetes en la ruta de la clase y todos los paquetes ModulePath del módulo del sistema JDK . La clase en el módulo ordinario solo puede ver el paquete exportado desde el módulo dependiente definido en module-info, y no puede ver el contenido en el módulo sin nombre.
De acuerdo con estas reglas, si el proyecto todavía usa ClassPath, no tiene impacto en el proyecto y el proyecto no necesita definir dependencias de módulo. Además, las dependencias del proyecto se pueden colocar en ClassPath o ModulePath. La diferencia es que los paquetes ubicados en ModulePath no se pueden usar en paquetes que no están marcados como exportados.

Necesito explicar Módulo sin nombre aquí. El módulo sin nombre es un módulo especial generado automáticamente. Todos los contenidos de ClassPath se cuelgan con el nombre del módulo sin nombre en Java9. Para el mismo ClassLoader, solo hay un Módulo sin nombre.

9 artículos originales publicados · Me gusta0 · Visitas 797

Supongo que te gusta

Origin blog.csdn.net/Tao_Yuanqiang/article/details/102573993
Recomendado
Clasificación