这就是我创建多模块 Maven 项目的方式:
父模块
mvn archetype:generate
archetypeGroupId : multimodule-project
archetypeArtifactId : parent-module
模块-A
mvn archetype:generate
archetypeGroupId : multimodule-project
archetypeArtifactId : module-A
父模块是模块A的父模块
从父pom编辑archetypeArtifactId后
archetypeArtifactId : parent-module-edit
我收到错误:
Some problems were encountered while building the effective model for multimodule-project:module-A:jar:1.0-SNAPSHOT
[WARNING] 'build.plugins.plugin.version' for org.apache.felix:maven-bundle-plugin is missing. @ multimodule-project:module-A:[unknown-version], D:\mmvnproject\module-A\pom.xml, line 54, column 12
我应该如何正确编辑 Maven 项目 archetypeArtifactId?是否有一个数据库来存储这些设置,以便人们也必须在那里编辑它们,而不仅仅是 pom?
更新
父模块 pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>multimodule-project</groupId>
<artifactId>parent-module</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>parent-module</name>
<modules>
<module>module-A</module>
</modules>
</project>
模块-A pom
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>module-A</artifactId>
<version>1.0</version>
<packaging>bundle</packaging>
<parent>
<groupId>multimodule-project</groupId>
<artifactId>parent-module</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
</project>
最佳答案
你的 module-A pom 是错误的,你应该有下面的 pom 才能使它工作:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<artifactId>module-A</artifactId>
<version>1.0</version>
<packaging>bundle</packaging>
<parent>
<groupId>multimodule-project</groupId>
<artifactId>parent-module</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
</project>
编辑:更新以添加一些想法,因为您已经更正了原始帖子。
您使用的原型(prototype)有些奇怪。通常,如果构思良好,您只需执行 mvn archetype:generate 一次。我认为因为您的原型(prototype)还不是一个多模块项目,所以解释了您如何正确设置工作区的困难。
如果您可以按照此 tutorial 修改您的原型(prototype)为了创建一个好的多模块原型(prototype),我确实认为它会更容易使用。
关于java - 如何编辑maven项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34574647/