1

Tomcat には本当に奇妙な問題があり、修正できないようです。私の問題は、Tomcat が Tomcat フォルダー (C:/Program Files/Apache Software Foundation/Tomcat 6) をクラスパスとして認識しているように見えることです。この問題は、プロパティ ファイルを参照するように JAVA_OPTS を設定したときに発生します。

-Ddoiadmin.properties.file=doiadmin.properties

クラスパス (WEB-INF/classes) にプロパティ ファイルがありますが、Tomcat を起動すると次のエラーが表示されます。

com.XXXXX.commons.servicecore.ServiceConfigurationException: Could not find main properties file (directly or on classpath): [doiadmin.properties]

アプリケーションを適切に起動させる唯一の方法は、プロパティ ファイルを Tomcat フォルダに置くことです。これは煩わしく、長期的にはやりたいことではありません。

私はインターネットを精査し、何人かの人々に無駄に頼んだ。誰か提案はありますか?

助けてくれてありがとう - ティム

4

1 に答える 1

1

私があなたを正しく理解しているなら、私はこれをします:

あなたのweb.xmlには次のものがあります:

<env-entry>
  <env-entry-name>RootPathPropertyName</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>uk.co.foo.project.path</env-entry-value>
</env-entry>

<env-entry>
  <env-entry-name>RootPathPropertyValue</env-entry-name>
  <env-entry-type>java.lang.String</env-entry-type>
  <env-entry-value>d:/foo/bar</env-entry-value>
</env-entry>

コンテキストで、次のように PlaceHolderConfigurer を設定します。

<!-- Properties Configuration -->
<bean id="propertyConfigurer"
     class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="order" value="1"/>
  <property name="locations">
    <list>
      <value>file:${uk.co.foo.project.path}/config/foo.properties</value>
    </list>
  </property>
</bean>

Tomcat 構成では、ファイル /conf/Catalina/localhost/foo.xml で次のようにデフォルトの場所を上書きできます。

<Context path="foo" >
<Environment name="RootPathPropertyValue" value="c:/foo/bar" type="java.lang.String" override="false"/>
</Context>
于 2012-07-25T14:19:43.893 に答える