1

私はMavenの親pomと2つの子プロジェクトを持っています。Springを使用していますが、child_project_2からchild_project_1のリソースを指すクラスパスを取得できません。

parent
  child_1
    - src
      - main
        - java
          - com
            - company
              - package1
                  - app1.java
      - resources
          -config.xml

  child_2
    - src
      - main
        - java
          - com
            - company
              - package2
                  - app2.java
        - resources

app1.javaを実行するとき、次を使用してconfig.xmlファイルをロードします。

ApplicationContext ctx = new GenericXmlApplicationContext( "src / main / resources / config.xml");

ただし、app2.javaを実行し、config.xmlをロードする必要がある場合、クラスパスを正しく取得できないようです。このMavenディレクトリ構造を使用して、Springを使用するすべてのサブプロジェクトがchild_1 / src / main / resources / config.xmlにある同じconfig.xmlファイルをどのように指すことができますか?

ローカルマシンで絶対パスを試しました。child_2から親に戻ってconfig.xmlに戻る相対パスと、child_2 / src / main/resourcesから親に戻ってconfig.xmlに戻る相対パスを試しました。

4

2 に答える 2

1

src/main/resources は、ソース リソースが保持される場所のみです。JAR がビルドされると、そのディレクトリ内のファイルが、src/main/java ファイルがビルドされる場所と一緒に JAR にコピーされます。

child_1 プロジェクトと child_2 プロジェクトの両方の JAR がクラスパスにある場合、コードは次のようになります。

ApplicationContext ctx = new GenericXmlApplicationContext("config.xml");
于 2012-05-31T02:57:56.990 に答える