Java 多模块项目和maven central

Java 多模块项目和maven central,java,maven,packaging,maven-central,Java,Maven,Packaging,Maven Central,我正在计划一个多模块maven项目 父POM定义了两个模块,A和B 模块A需要可从命令行执行以显示AWT JDialog 模块B将是一个普通的jar,其12多个依赖项由客户端下载(即未打包) 模块B需要依赖于模块A 希望使jar尽可能小,以便在Maven Central上分发 我的问题: 1.多模块maven项目是实现这些目标的正确方法吗? 2.这两个模块是否需要分别发布到maven central?这看起来是多模块构建的典型场景 . ├── mod-a │   └── pom.xml ├─

我正在计划一个多模块maven项目

父POM定义了两个模块,A和B

  • 模块A需要可从命令行执行以显示AWT JDialog
  • 模块B将是一个普通的jar,其12多个依赖项由客户端下载(即未打包)
  • 模块B需要依赖于模块A
  • 希望使jar尽可能小,以便在Maven Central上分发
我的问题:
1.多模块maven项目是实现这些目标的正确方法吗?

2.这两个模块是否需要分别发布到maven central?

这看起来是多模块构建的典型场景

.
├── mod-a
│   └── pom.xml
├── mod-b
│   └── pom.xml
└── pom.xml (parent)
父级仅包含一个模块(两个)列表,类似如下所示:


4.0.0
com.soebes.smpp
smpp
0.7.1
com.soebes.training.first
项目父级
0.1.0-SNAPSHOT
聚甲醛
项目:家长
在此处定义SCM信息。。。
mod-a
mod-b
每个孩子都应该像这样:


4.0.0
com.soebes.training.first
项目父级
0.1.0-SNAPSHOT
项目:Mod-A
mod-a
你的模块b应该是这样的:


4.0.0
com.soebes.training.first
项目父级
0.1.0-SNAPSHOT
项目:Mod-B
mod-b
${project.groupId}
mod-a
${project.version}

现在,您可以从父模块进行构建,所有这些都应该部署到中心,无需单独执行,您可以从父模块一次完成…

我不明白的是,您的模块b中的依赖项是由客户端下载的吗?AWT JDialog的最终用户是谁?您应该为用户创建随时可用的工件,如zip存档,可以下载、提取并运行它……模块a包含的方法不仅需要从AWT表单中调用(编写许可文件)我已经创建了一个包含两个模块的多maven项目,正如我在最初的问题中所描述的。编译和构建。尺寸要小得多。模块A AWT表单启动。我的后续问题是:1。模块A中的方法是否会在必须从客户机项目的模块B调用它们的场景下成功运行?2.客户端是同时依赖于这两个模块还是仅依赖于父模块?