私はJerseyAPIを使用してRESTfulWebサービスを構築し、UbuntuのTomcat5で実行しています。Webサービスは私のマシン(EclipseでWebサービスを実行しています)で正常に動作します。問題は、サーバーでWebサービスを実行しようとしたときです。ファイル(より具体的にはjdbm2 HashMap)にアクセスして、特定の単語を検索する必要があります。コンピューター上のファイルにアクセスするには、ファイルが含まれているフォルダーをeclipseフォルダーにコピーするだけで済みました。ただし、サーバー上で、プログラムはフォルダーを見つけることができません。問題は、目的のフォルダ(MasterHashと呼ばれる)が作業ディレクトリにないことのようです。
問題はweb.xmlまたはcontext.xmlファイルのいずれかに関係していると思います。web.xmlは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
id="WebApp_ID" version="2.5">
<display-name>NGramSearch_WebService</display-name>
<servlet>
<servlet-name>Jersey REST Service</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
<init-param>
<param-name>com.sun.jersey.config.property.packages</param-name>
<param-value>search</param-value>
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>Jersey REST Service</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app>
context.xmlファイルは次のようになります。
<?xml version="1.0" encoding="UTF-8"?>
<Context docBase="/usr/share/tomcat5/webapps/NGramSearch_WebService"
path="/NGramSearch_WebService"
reloadable="true"
workDir="/usr/share/tomcat5/webapps/">
</Context>
context.xmlファイルにリソースを追加する必要があると思っていますが、その方法がわかりません。どんな助けでもいただければ幸いです!