我有一个Java应用程序(API),该应用程序使用TFSSDK连接TFS来获取和更新工作项。该API在Windows操作系统中运行正常,没有任何问题。
现在,我需要在SOLARIS(ver 11.4)平台中使用相同的应用程序,当我尝试执行jar文件时遇到以下错误。我知道这是因为未加载本机库,但是除了本机库的路径之外,我在类文件中的行与Windows相同。
由于以下问题,API可以在Windows上正常运行,并且不能在solaris中运行。请告知。
错误:
线程“ main”中的异常java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava / lang / String;)Ljava / lang / String; 在com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Native 方法) 在com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.getEnvironmentVariable(NativePlatformMisc.java:134) 在com.microsoft.tfs.jni.PlatformMiscUtils.getEnvironmentVariable(PlatformMiscUtils.java:52) 在com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.shouldAcceptUntrustedCertificates(DefaultHTTPClientFactory.java:288) 在com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.configureClientParams(DefaultHTTPClientFactory.java:324) 在com.microsoft.tfs.core.config.httpclient.DefaultHTTPClientFactory.newHTTPClient(DefaultHTTPClientFactory.java:137) 在com.microsoft.tfs.core.TFSConnection.getHTTPClient(TFSConnection.java:1041) 在com.microsoft.tfs.core.TFSConnection.getWebService(TFSConnection.java:874) 在com.microsoft.tfs.core.config.client.DefaultClientFactory $ 9.newClient(DefaultClientFactory.java:271) 在com.microsoft.tfs.core.config.client.DefaultClientFactory.newClient(DefaultClientFactory.java:91) 在com.microsoft.tfs.core.TFSConnection.getClient(TFSConnection.java:1470) 在com.microsoft.tfs.core.TFSTeamProjectCollection.getWorkItemClient(TFSTeamProjectCollection.java:370) 在com.cybermak.tfsapi.TfsAPI.main(TfsAPI.java:167)
将本机库加载到我的类文件中的代码:
Windows:
System.setProperty(“ com.microsoft.tfs.jni.native.base-directory”,“ D:\ NetBeansProjects \ TFSAPI \ tfssdk \ redist \ native”);
SOLARIS:
System.setProperty(“ com.microsoft.tfs.jni.native.base-directory”,“ / data / integration / api / TFSAPI / tfssdk / redist / native”);