我如何在 Maven 中只构建 jar-WITHOUT-dependencies?

How do I only build the jar-WITHOUT-dependencies in Maven?

我正在编译 Kotlin(JRE) 并将其部署到一个小机器人上。我很幸运地创建了一个 jar-with-dependencies,谢谢 Whosebug。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <configuration>
        <archive>
            <manifest>
                <mainClass>${project.main.class}</mainClass>
            </manifest>
        </archive>
        <descriptorRefs>
            <descriptorRef>jar-with-dependencies</descriptorRef>
        </descriptorRefs>
    </configuration>
    <executions>
        <execution>
            <id>make-assembly</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
        </execution>
    </executions>
</plugin>

但是罐子很大,大概有 25mb。没有依赖项的 jar 是一个完全合理的 26kb,这真的很重要,因为打包那个大 JAR 很慢,然后我每次都必须 scp 将它部署到机器人。

我能够通过 mvn dependency:copy-dependencies 将所有依赖项预加载到 bot 上的一个文件夹中并将它们复制过来。 (再次感谢 Whosebug)。现在我需要一种简单的方法来设置 属性 ,这将使它只编译和复制 target/MYBOT-1.0-SNAPSHOT.jar 而不必每次都尝试编译 target/MYBOT-1.0-SNAPSHOT-jar-with-dependencies.jar 文件。

将 属性 <assembly.skipAssembly> 设置为 true(在 POM 的 <properties> 部分)。那么jar-with-dependencies将不会被构建。