Maven - 创建可运行的 jar 并从依赖库中提取 类

Maven - Create runnable jar and extract classes from dependent libraries

是否有一个 maven 插件来创建一个可运行的 jar,它从依赖库中提取所有使用过的类?

我需要这个的主要原因如下:我开发了一个 Java Web Start 应用程序,如果我使用 shade 插件或 jar 插件创建 jar,JAR 将 >13MB 或者 shade-plugin 甚至忘记了一些导致 ClassNotFoundException 的 类。

使用我的旧 ant 脚本,JAR 只有 1,3MB 小,它包含所有必需的 类 并且下载和启动速度非常快。但是为了使用技术,我想切换到 Maven。 非常感谢!

我当前的 pom:

            <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <version>2.3</version>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                    <configuration>
                        <minimizeJar>true</minimizeJar>
                        <shadedClassifierName>min</shadedClassifierName>
                        <shadedArtifactAttached>true</shadedArtifactAttached>
                        <filters>
                            <filter>
                                <artifact>*:*</artifact>
                                <excludes>
                                    <exclude>META-INF/*.SF</exclude>
                                    <exclude>META-INF/*.DSA</exclude>
                                    <exclude>META-INF/*.RSA</exclude>
                                </excludes>
                            </filter>
                        </filters>
                    </configuration>
                </execution>
            </executions>
        </plugin>

我需要添加什么,例如 apache chemistry opencmis 库(现在 类 将被提取,但正如我所说,一些 类 仍然缺失,opencmis 使用它自己)?

请查看此 question 和建议的解决方法 - 引用所需的 类 以避免被 minimizeJar 选项排除。