2013-02-27 109 views
0

我已经在tomcat服务器中成功开发并部署了一个java servlet。如何在Jelastic Tomcat中引用DLL文件

但是在那个servlet中,我调用了一个dll文件。在我运行tomcat服务器的电脑中,我打电话给库 我使用System.load("C:/java/src/calldllfile.dll");,它工作正常。

问题是,在jelastic tomcat我真的不知道我应该使用什么路径,我应该把我的dll文件放在我的servlet中调用...并且在我的代码中捕获并尝试它返回一个UnsatisfiedLinkError 所以它确实必须的路径...

继jelastic论坛上类似的答案是下面 意见,我想我的文件设置成主文件夹,并用

System.loadLibrary(System.getProperty("user.home")+"/"+"calldllfile.dll"); 但它叫它没有工作。

所以我真的不知道该怎么办......我在下面包含我部署的servlet的图像,以及我无法调用的dll库的位置。如果有人告诉我我应该在System.load(“?????”);中使用什么路径,那将会非常有用。由于

enter image description here

+0

访问你的DLL,你已经尝试过这样的Tomcat安装进入主文件夹? http://community.jelastic.com/index.php/topic/121-how-to-load-a-native-dllso-in-apache-tomcat/ – 2013-02-27 16:19:14

+0

是的,我做了那个家伙在那里,我上传在家中我的DLL,然后尝试调用它...但仍然是同样的问题... – user878813 2013-02-27 16:47:20

+0

如果只有人可以解释我是什么路径WEBINF例如在jelastic ...我打印机“user.home”和/ opt/tomcat/temp出现,所以我怎么才能让我的dll在那里,所以我可以打电话给它? – user878813 2013-02-27 17:12:31

回答

2

文件夹的webapps位于同一水平,并为他们的根文件夹是的/ opt/tomcat的/(环境变量的catalina.home的等效 - portion of docs)。如果你正在谈论WEB-INF文件夹,它肯定位于你的上下文中(例如ROOT),为了得到它,你需要使用/ opt/tomcat/webapps/ROOT/WEB-INF(或System.getProperty(“catalina。家“)+”webapps/ROOT/WEB-INF /“)。

关于.dll文件库可以检查this

0

我知道这是一个古老的线程,但答案可能是有用的人。

要从你必须使用真实路径/opt/tomcat/

这样你就可以与路径/opt/tomcat/temp/calldllfile.dll