您可以创建一个多模块项目,其中一个模块包含您的域类,另一个模块是您的Web应用程序。这样,您的外部第3方
war可以仅通过添加域类就可以使用您的域类
jar。
这是目录结构的简单概述:
。├──pom.xml├──域| ├──pom.xml| └──src| └──主要| └──java| └──com| └──stackoverflow| └──域| ├──SomeDao.java| └──AnotherDao.java└──网页 ├──pom.xml └──src └──主要 ├──Java | └──com | └──stackoverflow | └──网页 | └──SomeBackingBean.java └──webapp └──WEB-INF └──web.xml
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.stackoverflow</groupId> <artifactId>Q12576767</artifactId> <version>1.0-SNAPSHOT</version> <packaging>pom</packaging> <name>${project.artifactId}-${project.version}</name> <modules> <module>domain</module> <module>web</module> </modules> <dependencyManagement> <dependencies> <!-- Inter-Module dependencies --> <dependency> <groupId>com.stackoverflow</groupId> <artifactId>Q12576767-domain</artifactId> <version>${project.version}</version> </dependency> </dependencies> </dependencyManagement></project>域/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> <parent> <groupId>com.stackoverflow</groupId> <artifactId>Q12576767</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>Q12576767-domain</artifactId> <name>${project.artifactId}-${project.version}</name></project>web / 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> <parent> <groupId>com.stackoverflow</groupId> <artifactId>Q12576767</artifactId> <version>1.0-SNAPSHOT</version> </parent> <artifactId>Q12576767-web</artifactId> <packaging>war</packaging> <name>${project.artifactId}-${project.version}</name> <dependencies> <dependency> <groupId>com.stackoverflow</groupId> <artifactId>Q12576767-domain</artifactId> </dependency> </dependencies></project>通过这种方式,您可以解耦一些依赖关系,并可以
jar从
domain模块中重用文件。
最后,您还可以查看使用叠加层
war通过将第3方
war与您自己的叠加层来创建叠加层
war。我不知道您的设置是否可行,但值得一看。我已经成功使用了它。



