我有一個Maven家長pom和2個子項目。我正在使用Spring,並且無法讓classpath從child_project_2指向child_project_1中的資源。如何使用Maven父級pom/child poms目錄結構指向Spring資源?
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 =新GenericXmlApplicationContext( 「SRC /主/資源/ config.xml中」);
但是,當我運行app2.java,並需要在config.xml中加載時,我似乎無法得到類路徑正確。使用這個Maven目錄結構,我所有使用Spring的子項目如何指向位於child_1/src/main/resources/config.xml的同一個config.xml文件?
我試過我的本地機器上的絕對路徑。我已經嘗試了從child_2到parent並返回到config.xml的相對路徑,並且從child_2/src/main/resources的相對路徑備份到父對象,然後到config.xml。
所以給我的圖,當我運行app1.java,兩個以上行,你給工作精細。但是,當從app2.java運行時,我無法獲得類路徑來查找位於child_1/src/main/resources中的config.xml。 所以我的問題的重點是,我不想做一個config.xml的副本,並將其填充到每個孩子的src/main/resources文件夾中。相反,我想讓app [n] .java能夠加載配置。xml from child_1/src/main/resources/config.xml。但是我無法獲得正確的類路徑。 – rallison
如果你想讓它在兩個應用中都可用,創建一個名爲common的第三個模塊,並使app1和app2依賴於普通(通過添加它作爲它們的poms的依賴)。或者你可以讓app2依賴於app1。但你不能讓app1和app2互相依賴,這是一個循環依賴(雞和蛋問題 - 首先被構建?) – ianpojman
你對使用資源修復它的評論。從child_2: res = new FileSystemResource(「child_1/src/main/resources/config.xml」); ApplicationContext ctx = new GenericXmlApplicationContext(res); – rallison