如何在Tomcat中添加本地图书馆



我想在tomcat中添加gdal库。我读了在tomcat中找不到的本机库,但不明白startup.bat中的位置,我应该添加-Djava.library.path

错误:

exception
javax.servlet.ServletException: Servlet execution threw an exception
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
root cause
java.lang.UnsatisfiedLinkError: org.gdal.ogr.ogrJNI.GetDriverCount()I
org.gdal.ogr.ogrJNI.GetDriverCount(Native Method)
org.gdal.ogr.ogr.GetDriverCount(ogr.java:98)
org.geotools.data.ogr.OGRDataStore.<clinit>(OGRDataStore.java:169)
test.Read.getKadnum(Read.java:56)
test.Zipper.mifUnzip(Zipper.java:139)
test.Zipper.Unzip(Zipper.java:60)
test.uploadfile.doPost(uploadfile.java:105)
javax.servlet.http.HttpServlet.service(HttpServlet.java:641)
javax.servlet.http.HttpServlet.service(HttpServlet.java:722)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilterChain.doFilter(InvokerFilterChain.java:72)
com.liferay.portal.kernel.servlet.filters.invoker.InvokerFilter.doFilter(InvokerFilter.java:70)
note The full stack trace of the root cause is available in the Apache Tomcat/7.0.23 logs.

我从:http://vbkto.dyndns.org下载了GDAL 64BIT:1280/sdk/packagelist.aspx?file=release-1600-x600-x64-x64-gdal-1-9-9-mapserver-6-mapserver-6-2.zipfut/p>

所接受的答案(截至2016年2月)是完全错误的。

  • 您是从不编辑catalina.bat/catalina.sh。不 !(Tomcat的bin/ DIR中唯一的文件是您应该触摸的 setenv.bat)。

  • 正确的配置变量是CATALINA_OPTS,而不是JAVA_OPTS

  • 如果您在Windows上,则不想在引号成为实际值的一部分时引用set命令的值。(与Unix/Linux不同)

  • 您可能需要保留java.library.path中已经存在的内容。

(在下面,我假设您在Windows上,相应地更改为Linux/Solaris/Mac OSX)。

这是操作方法:将一个称为setenv.bat的文件放入与catalina.bat相同的目录中。除非您先前自己创建它,否则该文件将不存在。因此,创建文件。它必须出于您的目的具有以下内容:

set CATALINA_OPTS=%CATALINA_OPTS% -Djava.library.path=%PATH%;c:mydlls

Windows java.library.path上的默认为%PATH%,因此以上所有通往所有路径的路线将是更改您的路径环境变量。

如果您不想从JVM加载您的本机库的位置完全混淆,则从上面省略%PATH%;部分。我个人省略了%PATH%,但这是一个品味问题。

必须在 catalina.bat而不是startup.bat。

中设置它
set JAVA_OPTS="-Djava.library.path=/usr/tomcat/shared/lib"

可以在

之后放置
:noJuliManager
set JAVA_OPTS=%JAVA_OPTS% %LOGGING_MANAGER%

根据catalina.bat上的评论,我认为正确的位置是catalina_opts。

rem   CATALINA_OPTS   (Optional) Java runtime options used when the "start",
rem                   "run" or "debug" command is executed.
rem                   Include here and not in JAVA_OPTS all options, that should
rem                   only be used by Tomcat itself, not by the stop process,
rem                   the version command etc.
rem                   Examples are heap size, GC logging, JMX ports etc.

相关内容

  • 没有找到相关文章

最新更新