Java 创建jar文件时如何包含库/依赖项?

Java 创建jar文件时如何包含库/依赖项?,java,maven,jar,confluence,atlassian-plugin-sdk,Java,Maven,Jar,Confluence,Atlassian Plugin Sdk,我创建了一个Confluence插件(一个Java应用程序),上面有Maven,并在pom.xml中包含一些依赖项,如下所示:(它需要使用Google客户端库) com.google.api 但是,在执行“atlas debug”以调用Confluence实例或“atlas package”命令后,最终导出的jar文件通常不包含依赖项/库(我根据失败的jar文件大小发现,它比成功导出的jar文件小得多) 如何在每次执行“atlas debug”或“atlas package”命令时将库文件真

我创建了一个Confluence插件(一个Java应用程序),上面有Maven,并在pom.xml中包含一些依赖项,如下所示:(它需要使用Google客户端库)


com.google.api

但是,在执行“atlas debug”以调用Confluence实例或“atlas package”命令后,最终导出的jar文件通常不包含依赖项/库(我根据失败的jar文件大小发现,它比成功导出的jar文件小得多)


如何在每次执行“atlas debug”或“atlas package”命令时将库文件真正包含到导出的jar文件中?

您可以使用将所有依赖项打包到jar中的maven assembly插件。您可以在
pom.xml
的build部分的plugins部分中配置它:

<build>
...
    <plugins>
    ...
       <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2.2</version>
                <executions>
                    <execution>
                        <id>assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <descriptorRefs>
                                <descriptorRef>jar-with-dependencies</descriptorRef>
                            </descriptorRefs>
                            <archive>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    ...
    </plugins>
...
</build>

...
...
org.apache.maven.plugins
maven汇编插件
2.2.2
装配
包裹
单一的
带有依赖项的jar
...
...

请记住,使用提供的
配置的依赖项不会包含在jar中。

@Ravi ant!=maven@Ravi蚂蚁!=也许我遗漏了什么,但你为什么要下载任何东西呢?如果在您的计算机和eclipse中正确配置了maven,它将为您完成所有下载和导出到jar的工作。也许我的maven或eclipse有问题?如果我没有将库添加到libs文件夹中,到目前为止将不会成功导出库。location
src/main/resources
用于资源,但绝不会用于jar文件,也不应该手动处理。让Maven做这项工作…请出示您的pom文件。。
<build>
...
    <plugins>
    ...
       <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-assembly-plugin</artifactId>
                <version>2.2.2</version>
                <executions>
                    <execution>
                        <id>assembly</id>
                        <phase>package</phase>
                        <goals>
                            <goal>single</goal>
                        </goals>
                        <configuration>
                            <descriptorRefs>
                                <descriptorRef>jar-with-dependencies</descriptorRef>
                            </descriptorRefs>
                            <archive>
                            </archive>
                        </configuration>
                    </execution>
                </executions>
            </plugin>
    ...
    </plugins>
...
</build>