当前位置: 首页 > 知识库问答 >
问题:

如何在maven中部署父项目打包战

叶鸿振
2023-03-14

有人能给我一个解决方案吗?除了以下例外。我将创建一个多模块项目。

父项目名称为 projectW,子项目名称为 projectAprojectDprojectUtil

我需要有project ectW的war文件,其中应该包含project ectAproject ectDproject ectUtil。jar文件。

但是maven必须在父项目中打包。我怎样才能创建这样的项目?

共有1个答案

谷良弼
2023-03-14

有一个父 pom

<?xml version="1.0" encoding="UTF-8"?>
<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.example</groupId>
  <artifactId>example</artifactId>
  <version>1.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>example</name>

  <modules>
    <module>projectW</module>
    <module>projectA</module>
    <module>projectD</module>
    <module>projectUtil</module>
  </modules>

</project>

然后ProjectW pom看起来像这样

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.example</groupId>
    <artifactId>example</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>projectW</artifactId>
  <packaging>war</packaging>

  <name>projectW</name>

  <dependencies>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>projectA</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>projectD</artifactId>
      <version>${project.version}</version>
    </dependency>
    <dependency>
      <groupId>com.example</groupId>
      <artifactId>projectUtil</artifactId>
      <version>${project.version}</version>
    </dependency>
  </dependencies>

</project>

那么你的项目A、项目D和项目Util将看起来像这样

<?xml version="1.0"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>

  <parent>
    <groupId>com.example</groupId>
    <artifactId>example</artifactId>
    <version>1.0-SNAPSHOT</version>
  </parent>

  <artifactId>projectA</artifactId>
  <packaging>jar</packaging>

  <dependencies>
  </dependencies>

</project>

构建父级时,所需的war将是projectW/target/projectW-1.0-SNAPSHOT.war

 类似资料:
  • 首先,我不确定必须在gwt-maven项目中部署哪些文件夹和文件:.gwt.settings bin src/main/java target war pom.xml

  • 问题内容: 我有两个项目,并且属于该小组。取决于。 为了能够在不依赖外部服务的情况下开发应用程序的UI部分,在其中实现了虚拟DAO (它们返回静态数据,因此我们不必连接到数据库等)。 我们被要求将虚拟类移至。这意味着他们不会被部署到从Web项目构建的战争中。我在maven网站上找到了 这些说明 ,但它们似乎对我不起作用。 在中,我有: 在上运行时,在目标中,我会得到两个jar:和。它们都可以很好地

  • 我有一个maven项目,我正在Intellij IDEA中导入它。除了部署maven项目控制台时显示以下错误外,一切都很好 [ERROR]未能执行goal org.apache.maven.plugins:maven-deploy-plugin:2.7:deploy(default-deploy)on project multisite:Deployment Failed:在distributio

  • 我有一个模块化maven项目。在最高层,我有: 我已经尝试了我能想到的一切: 重新执行项目, 清理所有eclipse相关文件, 清理本地maven存储库, 正在清理服务器tmp文件夹并重新添加项目, 更新并安装maven 到目前为止没有任何帮助。 我有一个令人震惊的发现:我添加了一个名为“amodule”的模块。你猜怎么着,它得到了所需的罐子而其他的没有。似乎只有按字母顺序排列的第一个模块获得ja

  • 我使用的是Eclipse Luna、Maven3和Websphere Liberty 8.5.5。我在Eclipse中添加了websphere liberty server。部署在liberty中的EAR/WAR项目不包括WAR的WEB-INF/lib中的maven依赖项。如果导出EAR或WAR,则导出的文件包含所有依赖项。会出什么问题?

  • 用chatgpt问了不下十次 给了各种插件的方案 不知道为啥就是不生效 下面是我的pom.xml中的部分片断