Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
部署在Axis2-Tomcat7-Ubuntu平台上的web服务中的TFS Java SDK本机库异常_Java_Tfs_Axis2_Tomcat7 - Fatal编程技术网

部署在Axis2-Tomcat7-Ubuntu平台上的web服务中的TFS Java SDK本机库异常

部署在Axis2-Tomcat7-Ubuntu平台上的web服务中的TFS Java SDK本机库异常,java,tfs,axis2,tomcat7,Java,Tfs,Axis2,Tomcat7,我正在尝试在部署在Tomcat7上的axis2 web服务中执行TFS Java SDK Api命令 我成功地在windows平台上运行了我的小应用程序 我想在Linux上部署的Tomcat上运行我的web服务 我得到了未满足的链接错误(异常): 我定义了com.microsoft.tfs.jni.native.base目录system属性。 我修改了catalina.sh以包含-D“com.microsoft…=/home/user/tfsbin”行。 我可以看到上面的系统变量是在Tomcat

我正在尝试在部署在Tomcat7上的axis2 web服务中执行TFS Java SDK Api命令

我成功地在windows平台上运行了我的小应用程序

我想在Linux上部署的Tomcat上运行我的web服务

我得到了
未满足的链接错误
(异常):

我定义了
com.microsoft.tfs.jni.native.base目录
system属性。 我修改了catalina.sh以包含
-D“com.microsoft…=/home/user/tfsbin”
行。 我可以看到上面的系统变量是在Tomcat Axis2页面上定义的(它给出了 有关VM参数的信息)

我的linux是32位intel机器,所以我选择linux\x86作为本机库文件(5.so文件) 我将它们复制到
/home/user/tfsbin
并将
com.microsoft.tfs.jni.native.base目录
设置到此文件夹

我正在使用Ubuntu、OracleJDK7、Tomcat7、ApacheAxis2 1.6.2。TFS SDK 11.0.0.1211

我仍然得到
不满意的linkerror

感谢您的帮助

以下是解决方案:

下载TFS Java SDK(我使用build 11.0.0.1212)

提取文件夹时,您将看到dist/native文件夹。 将此文件夹内容复制到 主/用户/本机。 然后在setenv.sh中设置系统属性,如下所示: -Dcom.microsoft.tfs.jni.native.base目录=/home/user/native

将上面路径中的用户替换为linux中的实际用户名。 不要试图指向实际的操作系统文件夹。自动生成TFS Java SDK
根据我的经验选择合适的操作系统。

第一个问题很好。欢迎来到stackoverflow!如果我想连接到TFS online server,是否需要设置系统属性?是否有其他方法可以实现此目的?@mosaad:我不确定您问题的内容,但上面提到的解决方案是在Tomcat部署的Java web应用程序中使用TFS Java API。你也可以在一个简单的命令行Java应用程序中使用TFS Java API。我只是想知道这是否可以用另一种方法来实现,例如使用maven,但你是对的,它在tomcat上运行良好,这就是我现在使用的。
Caused by: java.lang.UnsatisfiedLinkError: com.microsoft.tfs.jni.internal.platformmisc.NativePlatformMisc.nativeGetEnvironmentVariable(Ljava/lang/String;)Ljava/lang/String;