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

如何将x.class从编译到jar文件中排除?

彭霄
2023-03-14

我在试着做POM。xml生成两个jar文件。一个包含所有类,另一个不包含其中一个类。

我试图排除的文件名为“ExcludeMe1”。爪哇。”我是新来的,但这不是我的第一次牛仔竞技,在下面的代码中,我排除了ExcludeMe1。班但是jar文件的大小保持不变,我相信它仍然包含我排除的类。这就是我的意思。。。

    <plugins>
      <plugin>
        <artifactId>maven-assembly-plugin</artifactId>
        <executions>
            <execution>
              <id>make-assembly</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
              <configuration>
                  <appendAssemblyId>false</appendAssemblyId>
                  <archive>
                    <manifest>
                      <mainClass>com.costanzo.mavendemo.MavenDemo1</mainClass>
                    </manifest>
                  </archive>
                  <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                  </descriptorRefs>
                </configuration>
            </execution>
            <execution>
              <id>make-assembly22</id>
              <phase>package</phase>
              <goals>
                <goal>single</goal>
              </goals>
              <configuration>
                  <excludes>
                      <exclude>${project.basedir}/target/excludeMe/ExcludeMe1.class</exclude>
                  </excludes>
                  <archive>
                    <manifest>
                      <mainClass>com.costanzo.mavendemo.MavenDemo1</mainClass>
                    </manifest>
                  </archive>
                  <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                  </descriptorRefs>
                </configuration>
            </execution>
          </executions>
      </plugin>
    </plugins>

我期望发生的是排除大小为1KB的类文件。因此,我希望得到N和N-1,而不是两个罐子的大小都是N。

我对Maven还是个新手,所以希望yall能理解。如果需要,请随时提问。我会经常检查这件事,因为这是一个高度优先的项目。

共有2个答案

籍英叡
2023-03-14

您只能从构建过程中排除jar文件。

蒋高杰
2023-03-14

据我所知,排除使用maven的单个类是不可能的。排除jars是可能的。

 类似资料:
  • 我还在使用一些.jar文件(POI-3.15.jar...),这些文件对于Row、HSSFSheet等类(用于从excel获取信息)是必需的。如果我将这些.jar文件加载到Eclipse中,就没有问题使其正常工作。 但是,使用命令提示符,找不到我的.jar文件。我已经将我的.java文件放在/src文件夹中,并将.jar文件放在我的.classpath所在的地方。编译不起作用。 是否可以将.jav

  • 那么如何防止插件jar进入war文件呢?多谢了。

  • 问题内容: 假设我的jar包“ com.test.io”中有一个名为test.txt的文件。 我将如何编写一个类来检索此文本文件,然后将内容复制到文件系统上的新文件中? 问题答案: 假设jar在您的类路径中:

  • 问题内容: 我想将先前从其他文件(已经完成)中提取的一系列文件添加到jar中。这些文件将覆盖JAR中的文件。最有效的方法是什么?我需要它快。谢谢! 问题答案: 请记住,JAR文件是ZIP文件。 只需使用一些ZIP库。

  • 问题内容: 我想从罐子中复制文件。我要复制的文件将被复制到工作目录之外。我已经做过一些测试,所有尝试使用的方法都以0字节文件结尾。 编辑 :我希望通过程序而不是手动完成文件的复制。 问题答案: 首先,我想说的是,之前发布的一些答案是完全正确的,但是我想告诉我,因为有时我们不能在GPL下使用开放源代码库,或者因为我们懒得下载jarXD或其他文件无论您的理由在这里,还是一个独立的解决方案。 下面的函数

  • 问题内容: 我在pom.xml中有一节 我想从最终的jar中排除 .SF和 .DSA文件。但是我收到以下消息: 和文件不排除。有谁知道如何克服它? 问题答案: 我有同样的问题。通过使我的工件选择器更具体来解决此问题,例如 整个块如下所示: