如何将x.class排除在编译到我的jar文件之外?

时间:2019-05-23 15:20:30

标签: java xml maven

我正在尝试使POM.xml生成两个jar文件。一个包含所有类,另一个不包含一个类。

我要排除的文件名为'ExcludeMe1.java。'我是新手,但这不是我的第一个牛仔,在下面的代码中,我排除了ExcludeMe1.class。但是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。因此,我没有将两个jar都设置为N,而是期望N和N-1。

我对Maven还是很陌生,所以希望大家都能理解。经常问您是否需要它,因为这是一个高优先级的项目,所以我会经常检查它。

2 个答案:

答案 0 :(得分:0)

据我所知,排除使用maven的单个类是not possible。可以排除罐子。

答案 1 :(得分:0)

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