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

如何通过编辑pom.xml排除jar中的包?

穆智刚
2023-03-14

我试图通过编辑pom.xml来排除jar(maven依赖项)中的一个包。

所以我尝试了一些方法,使用maven-shade-plugin和maven-jar-plugin添加标记。但没有奏效。jar中的包仍然存在。

这是我试过的密码。多谢了。artifact是jar名称,com.domain.package是删除表单jar的包。

<!-- first trial -->
<dependencies>
  <dependency>
    <groupId>Group</groupId>
    <artifactId>artifact</artifactId>
    <version>1.0</version>
    <scope>system</scope>
    <systemPath>${basedir}/src/main/webapp/WEB-INF/lib/artifact.jar</systemPath>

    <exclusions>
      <exclusion>
     <groupId>com.domain.package</groupId>
     <artifactId>package</artifactId>
      </exclusion>
    </exclusions>
   </dependency>
</dependencies>

<!-- second trial -->
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-shade-plugin</artifactId>
   <version>3.2.1</version>
   <executions>
      <execution>
         <phase>package</phase>
         <goals>
            <goal>shade</goal>
         </goals>
         <configuration>
            <artifactSet>
               <excludes>                            
                  <exclude>artifact:com.domain.package</exclude>
               </excludes>
            </artifactSet>
         </configuration>
      </execution>
   </executions>
</plugin>

<!-- third trial -->
<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-jar-plugin</artifactId>
   <version>2.4</version>
   <executions>
      <execution>
         <id>artifact</id>
         <phase>package</phase>
         <goals>
            <goal>jar</goal>
         </goals>
         <configuration>
            <excludes>
               <exclude>**/com/domain/package/*</exclude>
            </excludes>
         </configuration>
      </execution>
   </executions>
</plugin>

共有1个答案

经骁
2023-03-14

您可以在maven jar插件执行中定义配置以排除和包含文件

<configuration>
          <includes>
            <include>**/service/*</include>
          </includes>

null

https://maven.apache.org/plugins/maven-jar-plugin/examples/include-exclude.html

 类似资料:
  • 我在试着做POM。xml生成两个jar文件。一个包含所有类,另一个不包含其中一个类。 我试图排除的文件名为“ExcludeMe1”。爪哇。”我是新来的,但这不是我的第一次牛仔竞技,在下面的代码中,我排除了ExcludeMe1。班但是jar文件的大小保持不变,我相信它仍然包含我排除的类。这就是我的意思。。。 我期望发生的是排除大小为1KB的类文件。因此,我希望得到N和N-1,而不是两个罐子的大小都是

  • 我有一个Java MultiMaven项目,我为每个子模块配置了Jacoco maven插件,以排除我不想要覆盖报告的文件。我认为我成功了,因为我在Jacoco生成的html报告中看不到我排除的这些文件。我假设这些类文件被排除在Jacoco.exec文件之外。现在,我在SonarQube中使用这些累积的Jacoco.exec文件,并看到了所有子模块的覆盖,但是,当我进入类详细信息时,我再次看到了我

  • 如何才能缓解这种情况?

  • 问题内容: 我正在使用node_swiz模块,而后者又使用了验证器模块。 我想对验证器模块进行更改,但是我使用npm install来安装模块/依赖项。 我可以只在node_modules内部更改验证器模块,还是在发布到heroku或下次运行npm install时重新创建node_modules依赖关系并获得最新版本? 结构如下: 谢谢您的帮助! 问题答案: 您可以直接编辑文件,但是每当npm更

  • 我使用的是node_swiz模块,它反过来使用验证器模块。 我想对验证器模块进行更改,但我使用了npm安装来安装模块/依赖项。 我是否可以只更改node_模块内部的验证程序模块,或者在我发布到heroku或下次运行npm安装时是否会重新创建node_模块依赖项并获取最新版本? 结构如下所示: 谢谢你的帮助!

  • 我制作了一个JAR文件。运行良好。我一直在修补源代码,但忘了做了哪些更改。现在这不起作用了。我能拉一下吗。Jar中的java?