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

时间:2015-01-23 09:55:04

标签: maven jar

是否有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化学opencmis库(现在这些类将被提取但是我说有些类仍然缺少opencmis使用itselfe)?

1 个答案:

答案 0 :(得分:0)

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