0
这是一个基本的问题,我只是不太熟悉maven多模块结构。说,我有一个Web应用程序。我想连接一些模块(一些服务)。我是否需要制作一个Web应用程序只是其中一个模块,依赖于其他模块,然后运行它?起初我以为我可以运行整个项目,但是这个选项在我的IDE中变得不活跃(我现在使用的是NetBeans),这让我觉得我应该运行一个主模块(在这种情况下是一个Web应用程序)。是这样吗?提前致谢。运行一个多模块的Maven项目
这是一个基本的问题,我只是不太熟悉maven多模块结构。说,我有一个Web应用程序。我想连接一些模块(一些服务)。我是否需要制作一个Web应用程序只是其中一个模块,依赖于其他模块,然后运行它?起初我以为我可以运行整个项目,但是这个选项在我的IDE中变得不活跃(我现在使用的是NetBeans),这让我觉得我应该运行一个主模块(在这种情况下是一个Web应用程序)。是这样吗?提前致谢。运行一个多模块的Maven项目
如果你有一个多模块项目,你需要一个像下面这样的结构,它也将由文件夹结构来表示。
+-- root (pom.xml)
+--- module-1
+--- module-2
+--- module-war
而根部模块包含这样一件事:
<project ..>
<groupId>com.test.project</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<modules>
<module>module-1</module>
<module>module-2</module>
<module>module-war</module>
</modules>
</project>
在模块-1的POM应该是这样的:
<project ..>
<parent>
<groupId>com.test.project</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>module-1</artifactId>
dependencies for the module
</project>
模块-2看起来更或更少的相同..在战争模块它看起来像:
<project ..>
<parent>
<groupId>com.test.project</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<packaging>war</packaging>
<artifactId>module-war</artifactId>
dependencies for the module
</project>
如果您有例如模块之间的依赖关系模块1取决于模块-2,它看起来像在模块1以下:
<project ..>
<parent>
<groupId>com.test.project</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<artifactId>module-1</artifactId>
<dependencies>
<dependency>
<groupId>${project.groupId}</groupId>
<artifactId>module-2</artifactId>
<version>{project.version}</version>
</dependency>
..other dependencies..
</dependencies>
</project>
构建和打包你的项目,你会去父文件夹和做只是一个
mvn clean package
哦,非常感谢这样一个完整的答案。 – 2012-04-29 11:32:53