java -jar 是如何将jar包加载到jvm进程的?

大佬们,我不太理解-jar这个命令,这是调用某个java写的classloader实现的加载,还是直接在c++里面实现的加载?
如果是java用classloader实现的加载jar,能否给出具体的classloader?

阅读 2.5k
1 个回答

用的就是JVM自己的Internal class loader,你自己println class loader都能看出来。

能直接运行的 jar包叫可执行jar (executable jar),需要在manifest文件中定义main函数的路径:

Main-Class: classname

参见: https://docs.oracle.com/javas...

效果就跟你解开jar包之后直接java -cp . Package.Class 效果一样

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题