模块声明定义了模块的依赖关系。如果我使用Maven作为构建工具,这是多余的,因为pom.xml
已经包含了这些(以及更多)信息。基于此,Maven不能为我生成module-info.java吗?
据我所知,bnd-maven-plugin
可以根据配置的依赖关系生成模块信息.class
。如果您使用的是 maven-bundle-plugin
,则需要手动指定 bndlib 的版本,因为最新版本的 maven-bundle-plugin(5.1.3) 仍在使用 5.x 版本的 bndlib,而 bndlib 需要 6.x 来支持 jpms。
文档:https://bnd.bndtools.org/releases/6.1.0/chapters/330-jpms.html
人们可能会认为大多数依赖项也确实是必需的模块。但是,需求也可以指向JDK/JRE的模块,这些模块在< code>pom.xml中没有指定。所以,是的,如果你只看依赖关系,可能大部分都可以被转换成一个必需的模块引用。
但是模块描述符包含更多的信息,这些信息都是基于开发人员做出的决策。我写了一篇关于它的文章,详细描述了为什么不可能完全生成这个文件。
use 声明可以将一个完整的路径绑定到一个新的名字,从而更容易访问。 // 将 `deeply::nested::function` 路径绑定到 `other_function`。 use deeply::nested::function as other_function; fn function() { println!("called `function()`"); } mod de
我们正在迁移到java 11和作为java 9开始使用modules-info.java.我想知道是否有办法自动生成modules-info.java基于现有的项目?
我正在创建一个环境模块来补充缺失的打字。我可以创建打字。d、 ts这为环境模块提供了正确的类型。 由于某种原因,当我这样做时,环境模块的import语句中断。 typings.d.ts 在上面的例子中,我想从另一个库中提供适当的返回类型。
情况是,我有两个结构相同的Maven多模块项目: 当我构建项目1时,我看到首先构建的是parent(顺序是parent->module1->module2)。然而,对于项目2,最终生成父级(顺序为module1->module2->parent)。为什么两个项目的建造订单不同?此外,如何手动控制生成顺序? 更新1: 两个父项目都是简单的POM项目,没有源代码,所以我无法按照依赖关系图解释构建顺序。
问题内容: 我们有一个带有 Java 文件的 Maven 项目(打包为JAR)。最近将一个新的 Java 源文件添加到该项目中。添加Java文件的路径与其包声明不匹配。不出所料,Eclipse在类中显示了不匹配的错误。但是,Maven可以很好地构建项目。在生成的JAR文件中,.class文件位于包声明所指示的路径中。我们试图将Java源文件移动到其他不正确的文件夹中(即与包声明不同),但是每次Ma
这样并没有在dist目录下生成一个types文件夹,而是在每个模块下都生成了一个types文件夹,造成声明文件重复,请问如何设置才能只在dist文件夹下生成一个声明文件呢?