Я кодирую плагин 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и использует это, но, видимо, нет.Может ли кто-нибудь из вас помочь?