我在这里有一个多模块 Maven 项目。父项目有 3 个通用模块,带参数,不带参数。带参数和不带参数的模块相互独立,都依赖于公共模块。在没有参数的模块中,我添加了对像这样的通用模块的依赖。下面是项目的结构。.├── pom.xml├── common│ ├── pom.xml│ ├─ src│ ├── main│ ├─ java│ ├── ParanamerUtil.java│ ├── PersonV03.java│ └── TestCaseClasses.java│├── with-paranamer│ ├── pom.xml│ ├──src│ ├── main│ ├── java│ └── ParanamerExample.java|└── without-paranamer ├── pom.xml ├─ src ├── main ├── java └── ParametersExample.java我想ParametersExample 使用 exec-maven-plugin 在没有参数的模块中执行类。所以我在这里添加了 exec-maven-plugin 在父 pom.xml 中的 pluginManagement 下。在没有-paranamer模块我已经加入插件像这样。我已按照此处的 stackoverflow 帖子中提到的上述说明进行操作。当我运行mvn verify命令成功时。但是当我尝试运行命令时,mvn exec:java -Dexec.mainClass=ParametersExample -pl without-paranamer我遇到了以下错误。WARNING] The POM for paranamer-maven-demo:common:jar:1.0-SNAPSHOT is missing, no dependency information available[INFO] ------------------------------------------------------------------------[INFO] BUILD FAILURE[INFO] ------------------------------------------------------------------------[INFO] Total time: 0.189 s[INFO] Finished at: 2018-09-07T17:23:07-04:00[INFO] ------------------------------------------------------------------------[ERROR] Failed to execute goal on project without-paranamer: Could not resolve dependencies for project paranamer-maven-demo:without-paranamer:jar:1.0-SNAPSHOT: Could not find artifact paranamer-maven-demo:common:jar:1.0-SNAPSHOT -> [Help 1]如何使用 exec-maven-plugin 使我的程序成功运行。
1 回答
慕运维8079593
TA贡献1876条经验 获得超5个赞
without-paranamer
模块依赖于paranamer-maven-demo.common.1.0-SNAPSHOT
,但它在哪里可以找到它?最明显的答案:在本地存储库中。但它不在那里,除非你安装它(另外,你必须安装父项目的 pom)。
mvn -N clean install
- 安装父 pom。(-N
代表non recursive
,这意味着目标将只为父项目执行,而不是为子模块执行)。
mvn -pl common clean install
- 安装common
模块。
现在,调用exec:java
将成功(但没有打印任何输出,因为<skip>true</skip>
在插件管理配置中)
添加回答
举报
0/150
提交
取消