如何获取要包含在 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>
以下是必需的依赖项。其中一两个可能是额外的,但显示的列表涵盖了所有必需的。
我已经使用 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>
以下是必需的依赖项。其中一两个可能是额外的,但显示的列表涵盖了所有必需的。