Могу ли я закрасить плагин с помощью муравья (желательно используя maven-shade-plugin)? - PullRequest
1 голос
/ 27 апреля 2019

Я кодирую плагин spigot и мне нужно использовать внешнюю библиотеку, однако сам по себе этот плагин не является.Поэтому мне нужно затенить его в моем .jar.

Я уже закрасил его maven, и он работает как шарм, когда я использую mvn clean install.Тем не менее, я также использую ant для автоматической сборки своих проектов из eclipse, и мне нравится использовать его как можно быстрее, но ant не затеняет его как maven.Я попытался заново сгенерировать maven-build.xml с mvn ant:ant, но все равно ничего.

Я попробовал один jar для ant и этот плагин ant , но они как бы проигнорировали библиотекуМне нужно.

Мой 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>

Я думал, что Ant Builder автоматически захватывает pom.xmlи использует это, но, видимо, нет.Может ли кто-нибудь из вас помочь?

...