我在一个项目中有两个不同的maven模块,一个是带有角度js东西的ui模块和一个带有jersey的宁静web服务的服务模块。我的问题是,无论如何,我可以将此服务模块作为依赖项添加到pom.xml中的ui模块,并将其作为服务从ui模块中使用。这里的想法是不将两者都作为不同的战争部署,而是作为一个部署。
答案 0 :(得分:1)
您可以将服务模块生成为JAR。 pom.xml应该包含:
<packaging>jar</packaging>
并且
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.2</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>install</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
在主项目中创建libs文件夹并将生成的JAR文件放在那里。主项目pom.xml应包含:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-install-plugin</artifactId>
<version>2.5.2</version>
<executions>
<execution>
<id>install-external</id>
<phase>clean</phase>
<configuration>
<file>${basedir}/libs/your_service.jar</file>
<repositoryLayout>default</repositoryLayout>
<groupId>your_service</groupId>
<artifactId>your_service</artifactId>
<version>1.0</version>
<packaging>jar</packaging>
<generatePom>true</generatePom>
</configuration>
<goals>
<goal>install-file</goal>
</goals>
</execution>
</executions>
</plugin>
和
<!-- External lib -->
<dependency>
<groupId>your_service</groupId>
<artifactId>your_service</artifactId>
<version>1.0</version>
<!-- <systemPath>${basedir}/libs/your_service.jar</systemPath> -->
<!-- <scope>system</scope> -->
</dependency>
答案 1 :(得分:0)
这是我在我的几个项目中所做的,
1.首先创建一个空白项目,该项目使用modules
标记作为UI和服务组件/项目的容器/父项。您在其中指定了module
。你可以称之为APP。
要构建项目,您需要构建APP,然后构建两个模块并将APP部署到服务器。
这只是一个只有pom.xml
在packaging
war
指定为pom.xml
2.将服务项目指定为UI项目的dependency
。
3.在服务和UI项目中将APP项目指定为parent
。
希望这会有所帮助!!