如何获取要包含在Okta java-api调用的类路径中的jar文件列表?

时间:2017-01-18 22:08:50

标签: java maven jar okta okta-api

我已经使用maven构建了okta-sdk-0.0.4-SNAPSHOT.jar,并且我能够编译我的测试api代码而没有问题。 https://github.com/okta/oktasdk-java

但是,在运行时,API调用需要更多的jar文件,例如包含以下包的文件:org.apache.http.Header等。

当然,我可以通过查看运行时错误继续猜测我的类路径中缺少哪些依赖的JAR文件,但我正在寻找任何已知的运行时依赖项列表。

谢谢,

Jatin

3 个答案:

答案 0 :(得分:1)

我建议将maven shade plugin添加到您的构建中以创建超级jar。这是一个包含所有必需依赖项的jar。

答案 1 :(得分:1)

您可以在最终jar中创建包含所有依赖项的uber jar,如下所示。

     <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-shade-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>shade</goal>
                    </goals>
                </execution>
            </executions>
            <configuration>
                <finalName>uber-${artifactId}-${version}</finalName>
            </configuration>
        </plugin> 

或者您可以将启动服务器时使用的所有依赖项复制到lib文件夹。

<build> 
  <plugins> 
    <plugin> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <executions> 
      <execution> 
        <phase>install</phase> 
          <goals> 
            <goal>copy-dependencies</goal> 
          </goals> 
          <configuration> 
             <outputDirectory>${project.build.directory}/lib</outputDirectory> 
          </configuration> 
        </execution> 
      </executions> 
    </plugin> 
  </plugins> 
</build> 

答案 2 :(得分:0)

以下是必需的依赖项。其中一个或两个可能是额外的,但显示的列表涵盖了所有必需的列表。

enter image description here