首先创建带有jar包的lib项目,Internet和Intranet应用程序都将重用该项目中的代码。
pom.xml 如下所示
<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>com.domain.foobar</groupId>
<artifactId>foobar-lib</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
</project>
然后生成 Internet portlet(带有战争包装)例如
mvn archetype:generate -DarchetypeGroupId=com.domain.foobar -DartifactId=foobar-internet -DarchetypeArtifactId=com.liferay.maven.archetypes:liferay-portlet-archetype -DarchetypeVersion=6.2.10.15
并添加到互联网项目的 pom.xml
<dependency>
<groupId>com.domain.foobar</groupId>
<artifactId>foobar-lib</artifactId>
<version>1.0.0</version>
</dependency>
对 Intranet portlet 执行相同操作
mvn archetype:generate -DarchetypeGroupId=com.domain.foobar -DartifactId=foobar-intranet -DarchetypeArtifactId=com.liferay.maven.archetypes:liferay-portlet-archetype -DarchetypeVersion=6.2.10.15
并添加到互联网项目的 pom.xml
<dependency>
<groupId>com.domain.foobar</groupId>
<artifactId>foobar-lib</artifactId>
<version>1.0.0</version>
</dependency>
现在 Internet 和 Intranet(war 打包)项目都可以在 lib(jar 打包)项目中看到代码。
所以架构是
- Internet portlet(这里是 Spring MVC 代码),WAR 打包
- Intranet portlet(Spring MVC 代码在这里),WAR 打包
- 共享库(核心代码在这里),JAR 打包
我希望我能帮助你,因为你的问题不够清楚。