相关疑难解决方法(0)

如何使用Maven创建具有依赖关系的可执行JAR?

我想将我的项目打包在一个可执行的JAR中进行分发.

如何将所有依赖JAR的Maven项目打包到我的输出JAR中?

java build-automation build-process maven-2 executable-jar

2276
推荐指数
28
解决办法
123万
查看次数

什么是maven-shade-plugin,为什么要重新定位Java包?

我发现某人的pom.xml中使用了maven-shade-plugin.我之前从未使用过maven-shade-plugin(我是Maven n00b),所以我试着理解使用它的原因及其作用.

我查看了Maven文档,但是我无法理解这句话:

"这个插件提供了将工件打包在超级jar中的功能,包括它的依赖关系和阴影 - 即重命名 - 一些依赖项的包." 页面上的文档似乎不是新手友好的.

什么是"超级罐子?" 为什么有人想制作一个?重命名依赖项包的重点是什么?我试图通过maven-shade-plugin apache页面上的示例,例如"为Uber Jar选择内容",但我仍然无法理解"着色"所取得的成就.

任何指向说明性示例/用例的指针(解释为什么在这种情况下需要着色 - 解决了什么问题)将不胜感激.最后,我什么时候应该使用maven-shade-plugin?

java jar maven maven-shade-plugin

262
推荐指数
3
解决办法
8万
查看次数

从Maven中的依赖项中排除类

我有一个项目取决于供应商控制的工件.此工件包含一些我依赖的类,以及一些较旧且导致问题的类.有没有办法让maven自动扩展jar,删除类,并将它们重新打包为依赖?我试着举个例子.

supplier:artifact:1.0.0
com.supplier.useful.ClassA
com.supplier.dto.ClassB (old)

us:dependency:1.1.20
com.supplier.dto.ClassB (new)

us:project-web:1.1.20
- supplier:artifact:1.0.0
- us:dependency:1.1.20
Run Code Online (Sandbox Code Playgroud)

所以 - 我需要ClassA在project-web中使用,但我需要使用ClassB来自dependency工件的.我无法修改供应商:工件,或我们:依赖.

有任何想法吗?!

java maven-2

12
推荐指数
2
解决办法
1万
查看次数

我想从我的jar中排除一些类文件.我正在使用maven-assembly-plugin.它仍然添加文件.我没有收到任何错误

我没有得到这个代码的任何错误.只是我想要排除的文件仍然被添加.我正在使用maven插件进行eclipse

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <executions>
        <execution>
            <id>only</id>
            <phase>package</phase>
            <goals>
                <goal>single</goal>
            </goals>
            <configuration>
                <archive>
                    <manifest>
                        <mainClass>com.Main</mainClass>
                    </manifest>
                </archive>
                <descriptorRefs>
                    <descriptorRef>jar-with-dependencies</descriptorRef>
                </descriptorRefs>
                <excludes>
                    <exclude>**/com/uiservices/controllers/*.*      </exclude>
                </excludes>
            </configuration>
        </execution>
    </executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)

jar maven maven-assembly-plugin

9
推荐指数
1
解决办法
1万
查看次数