使用Eclipse编写Java9模块hello world
本文记录用eclipse开发最简单的Java9模块的过程。
Java9模块的其他详细信息后续再写。
完成后的工程结构如下:
编写提供方
我们将创建名为com.example.hello的模块。
新建java工程hello-module,注意选择Java版本为java9。
创建模块文件夹,根据非强制的约定,模块文件夹的名称和模块的名称相同。因为需要编译模块,所以可以直接将模块文件夹创建为Eclipse的source folder。
创建模块描述文件module-info.java,低版本的Eclipse会认为module-info.java不是合法的java文件名,所以此处直接创建module-info.java的普通File。
在module-info.java中,我们将模块暴露出去。如下:
module com.example.hello {
exports com.example.hello;
}
编写类HelloModule,里面只有一个main方法,提供给外部调用。如下:
public class HelloModule {
public static void main(String[] args) {
Class<HelloModule> clazz = HelloModule.class;
Module module = clazz.getModule();
String moduleName = module.getName();
System.out.println("Hello from module: "+moduleName);
}
}
这里使用了Java9中新增加的Module类,获取到模块的名称并输出。
编写调用方
我们将创建com.example.requirer的模块,此模块依赖了模块com.example.hello。
创建Java工程hello-requirer,注意选择Java版本为java9。
使用创建com.example.hello模块类似的方式,创建source folder。
编写module-info.java,指定依赖。如下:
module com.example.requirer {
requires com.example.hello;
}
此时Eclipse编译会抛出异常,因为找不到名为com.example.hello的模块。
Eclipse中可以通过添加module path解决。
打开工程hello-requirer的properties界面
在Java Build Path处,添加module path为工程hello-module
调用com.example.hello模块中方法,如下:
public class RequirerMain {
public static void main(String[] args) {
HelloModule.main(args);
System.out.println("Requirer main finished.");
}
}
运行输出如下:
Hello from module: com.example.hello
Requirer main finished.
完整代码:pkpk1234/java9-module-eclipse-demo
原文地址: https://zhuanlan.zhihu.com/p/30743052
本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
相关文章