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.
以下からgdal 64ビットをダウンロードしました http://vbkto.dyndns.org:1280/sdk/PackageList.aspx?file=release-1600-x64-gdal-1-9-mapserver-6-2.Zip
これは、startup.batではなくcatalina.bat
で設定する必要があります。
set Java_OPTS="-Djava.library.path=/usr/Tomcat/shared/lib"
後に置くことができます
:noJuliManager
set Java_OPTS=%Java_OPTS% %LOGGING_MANAGER%
受け入れられた回答(2016年2月現在)は、明らかに間違っています。
あなたはnevercatalina.bat
/catalina.sh
を編集することになっています。やめろ! (Tomcatのbin/
ディレクトリにある、あなたが触れることになっている唯一のファイルは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%
になるため、上記のすべてへの代替ルートはPATH環境変数を変更することでした。
JVMがネイティブライブラリをロードする場所から正確に混乱したくない場合は、上記の%PATH%;
の部分を省略してください。個人的にはこの理由で%PATH%
を省略していますが、それは好みの問題です。
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.