无法读取应用程序Web服务器上的属性文件

时间:2017-07-10 00:32:56

标签: java-ee classpath war

我能够在我的本地自由websphere应用服务器中运行代码,但是当我生成一个War然后将其部署到websphere服务器中时,我无法使属性文件正常工作。

我认为错误发生在build.xml中,其中生成的路径是错误的,因此不会读取属性文件。我正在使用ant build

下面是我的build.xml(属性文件名是DBInfo.properties)

<!DOCTYPE xml>
<project name="WS" basedir="." default="build" >
  <property name="src.dir" value ="src" />
  <property name="web.dir" value ="build"/>
  <property name="build.dir" value="${web.dir}/classes" />
  <property name="webcontent" location = "WebContent" />

  <path id="lib">
    <fileset dir="${web.dir}/WEB-INF/lib ">
      <include name="**/*.jar" />
    </fileset>
    <pathelement path="${build.dir}"/>
  </path>

  <target name="init" >
    <copy toDir="${web.dir}" >
      <fileset file="${webcontent}/WEB-INF">
        <include name="**" />
      </fileset>
    </copy>
  </target>

  <target name="build">
    <mkdir dir="${build.dir} />
    <javac includeantruntime="false" destdir="${build.dir}" source="1.8" target="1.8">
      <src path="${src.dir}"/>
      <classpath refid ="lib"/>
    </javac>
    <copy file="${src.dir}/DBInfo.properties" tofile="${web.dir}/classes/DBinfo.properties" overwrite="true" />
  </target>

  <target name="war" depends="build" >
    <war destfile="WS.war" webxml="${web.dir}/WEB-INF/web.xml" >
      <fileset dir= "${web.dir}" >
        <include name = "**/*.*"/>
        <exclude name ="**/${build.dir}/**" />
      </fileset>

      <class dir="${build.dir}" />
    </war>
  </target>

下面是它使用属性文件的类。它适用于本地服务器,但在部署战争时它无法找到它。

public class ConnectionManager {
...definable attribute
public static Connection getConnection() {
    Properties props = new Properties();
    Connection con = null;

    try {
        InputStream path = ConnectionManager.class.getClassLoader().getResourceAsStream("DBInfo.properties");
        props.load(path);
...

文件层次结构如下所示 构建后

WS
|-java resources
|      |-src
|      |-DBInfo.properties
|-Libraries
|-build
|   |-classes
|   |    |-com ..
|   |    |-DBInfo.properties
|   |-css
|   |-META-INF
|   |-WEB-INF
|-WebContent

有谁知道为什么我在生成war并在服务器上部署之后无法获取属性文件? (的Websphere)

0 个答案:

没有答案