java - 无需编译即可构建 Java 程序的类似 Node 模块的方式?
问题描述
我正在尝试在 Java 中创建一个模块化结构,其中:
- 每个“模块”都可以以松散耦合的方式插入
- 无需编译
- 每个“模块”都有相同的方法签名
在 node.js 中,我只会做module.exports
并要求它从另一个文件中使用,但在 Java 中,看起来没有办法在不编译的情况下运行代码片段。
理想情况下,我想创建一个系统,其中这些模块是即插即用的,就像我可以将文件放在 node.js 的目录中并立即要求和使用一样,没有任何麻烦。Java 文件也不能编译为类文件,因为我希望源代码可见。
有没有这样的方法?
解决方案
当你说
我如何将文件放在 node.js 的目录中并立即要求并使用而不会遇到任何麻烦。Java 文件也不能编译为类文件,因为我希望源代码可见
您的目标是什么并不完全清楚。编译代码(可能是 jar)后,如果您希望程序员可以看到源代码,请使用 IntelliJ 之类的 IDE,它将即时反编译类,您可以导航源代码而无需任何额外的反编译步骤.
正如@Mark Rotteveel 所说,来到主要问题Don't try to shoehorn Java into something it is not
。编译为 Java 提供了Platform-Independence
.
您可以在此处查看 Java 编译背后的推理和优势 How Java Works
推荐阅读
- arrays - 在 Fortran 中读取具有多种类型的数组时出现问题
- python - 存储在 GCS 存储桶中时无法重命名文件
- python - ADX、KQL 和熊猫
- javascript - Django 和 Axios 被禁止(CSRF 令牌丢失或不正确。)
- perl - Perl 的 -d 开关中断
从表单的 POST 中读取 - python - 如何设置 vimrc 配置,使其自动缩进 4 个空格而不是制表符?
- c# - 升级到 Visual Studio 16.11.1 后,Xamarin Forms 破坏了 XALNS7028:System.IO.FileNotFoundException:无法加载程序集“Xamarin.iOS”
- python - 如何绘制熊猫计数的分组条形图
- python-3.x - Jupyter notebooks HR 标签渲染不好
- javascript - 获取mysql nodejs中的特定列数据