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

How do I get the list of jar files to be included in classpath for Okta java-api calls?

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

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

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

谢谢,

怡保

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

您可以使用最终 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> 

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