我可以用ant遮罩插件吗(最好使用maven-shade-plugin)?

时间:2019-04-27 16:18:01

标签: java eclipse maven ant

我正在编码一个spigot插件,我需要使用一个外部库,但是它本身不是插件。所以我需要在.jar中对其进行着色。

我已经用maven对其进行了着色,当我使用mvn clean install时,它就像一种魅力。但是,我也使用ant从eclipse自动构建项目,我喜欢使用它,因为它速度很快,但是ant不会像maven那样对其进行着色。我尝试使用mvn ant:ant重新生成maven-build.xml,但仍然没有。

我为ant和this ant plugin尝试了一个jar,但是他们有点忽略了我需要的库。

我的build.xml:

<?xml version="1.0" encoding="UTF-8"?>

<!-- ===================================================================== -->
<!-- Ant build file (http://ant.apache.org/) for Ant 1.6.2 or above.        -->
<!-- ====================================================================== -->

<project name="Alchemic-Library" default="make" basedir=".">

  <import file="maven-build.xml"/>

  <property name="one-jar.dist.dir" value="${basedir}/one-jar"/>
  <import file="${one-jar.dist.dir}/one-jar-ant-task.xml" optional="true"/>

  <!-- ====================================================================== -->
  <!-- Help target                                                            -->
  <!-- ====================================================================== -->

  <target name="help">
    <echo message="Please run: $ant -projecthelp"/>
  </target>
  <target name="make">
    <antcall><target name="package"></target></antcall>
    <antcall><target name="copy-to-test-server"></target></antcall>
  </target>
  <target name="test">
    <available file="${basedir}//..//Test-Server//plugins//${maven.build.finalName}.jar" property="test.test"></available>
  </target>

  <target name="copy-to-test-server" depends="test" if="test.test">
    <echo message="Copying '${maven.build.dir}/${maven.build.finalName}.jar' to plugins folder"/>
    <copy file="${maven.build.dir}/${maven.build.finalName}.jar" todir="${basedir}//..//Test-Server//plugins"/>
  </target>

  <target name="maven">
    <exec dir="${basedir}" executable="cmd">
        <arg value="/C"/>
        <arg value="mvn clean install" />  
    </exec>  
  </target>
</project>

我的pom.xml的部分:

<plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.7.0</version>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-source-plugin</artifactId>
        <version>3.0.1</version>
        <executions>
          <execution>
            <id>attach-sources</id>
            <goals>
              <goal>jar</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-shade-plugin</artifactId>
        <version>3.2.1</version>
        <configuration>

        </configuration>
        <executions>
          <execution>
            <phase>package</phase>
            <goals>
              <goal>shade</goal>
            </goals>
          </execution>
        </executions>
      </plugin>
    </plugins>

我认为蚂蚁生成器会自动获取pom.xml并使用它,但显然不是。 你们任何人可以帮忙吗?

0 个答案:

没有答案