即时尝试构建一个春季启动maven项目作为战争文件部署在服务器上。春季开机构建为战争,并包括外部模块
我有第二个项目“lib”,其中包含pojo的数据库,并在多个项目中共享。当前我希望打造一个战争项目,但在定义模块时,似乎不可能设置 <packaging>war</packaging>
,它只允许使用pom类型。
<modules>
<module>../lib</module>
</modules>
我的问题,我怎么能建立项目作为战争,同时保持模块包含?
即时尝试构建一个春季启动maven项目作为战争文件部署在服务器上。春季开机构建为战争,并包括外部模块
我有第二个项目“lib”,其中包含pojo的数据库,并在多个项目中共享。当前我希望打造一个战争项目,但在定义模块时,似乎不可能设置 <packaging>war</packaging>
,它只允许使用pom类型。
<modules>
<module>../lib</module>
</modules>
我的问题,我怎么能建立项目作为战争,同时保持模块包含?
模块在父pom中用于定义它的子节点,其packaging
应为pom
。
如果您想在应用程序中包含其他项目,请改用依赖项。
<dependency>
<groupId>lib.project.group.id</groupId>
<artifactId>lib</artifactId>
<version>lib.project.version</version>
</dependency>
凡
注意:在构建您的战争项目之前先构建您的lib项目,否则构建将失败。
更清晰的做法是创建一个父pom并将war_project和lib_project定义为其模块并构建父pom,这就是没有依赖关系会失败的原因,并且您将获得已加载的战争。
您需要拥有战争和jar父POM:
<groupId>com.greg</groupId>
<artifactId>spring-boot</artifactId>
<version>0.1.0</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.1.RELEASE</version>
</parent>
<modules>
<module>jar-project</module>
<module>war-project</module>
</modules>
在你的战争项目包括JAR文件的依赖性:
<parent>
<groupId>com.greg</groupId>
<artifactId>spring-boot</artifactId>
<version>0.1.0</version>
</parent>
<artifactId>war-project</artifactId>
<packaging>war</packaging>
<dependencies>
<dependency>
<groupId>com.greg</groupId>
<artifactId>jar pfoject</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
我最终删除该模块包含和运行就像你说的那样,在lib上安装Maven。将其添加为依赖项。那么在那之后它就会建立为一场战争 – user2168435