我對Maven2.2.1和JavaScript有一個奇怪的問題。當我試圖根據我正在運行的不同配置文件過濾一個JavaScript文件時,出現問題。我的Maven的代碼是接近這個:使用來自Jetty的Maven隱藏文件過濾JavaScript文件
...
<resource>
<filtering>true</filtering>
<directory>${basedir}/src/main/resources</directory>
<includes>
<include>settings-file.js</include>
</includes>
<targetPath>
${build.directory}/${build.finalName}/www/wc/js
</targetPath>
</resource>
...
<profiles>
<profile>
<id>final</id>
<properties>
...
<web.setting.baseUrl>http://www.base.com</web.setting.baseUrl>
...
</profile>
</profiles>
...
我期待文件「設置 - file.js」被過濾和所有出現,例如,$ {} web.setting.baseUrl被改變,當我打電話
mvn clean install -Pfinal
但是當文件「設置 - file.js」被放在< TARGETDIR>不happend,所以我把它移到的src/main /資源期待它覆蓋現有文件 - 但它仍不會發生。我解決它從原始位置刪除文件,並將其放置在資源文件夾和編輯maven pom.xml文件(如清單所示)。
現在我有新的尷尬問題。當我與
mvn jetty:run
開始我的web應用程序,並導航到使用「設置 - file.js」它剎車,因爲它沒有看到這個文件的頁面。它現在被放置在應該被正確過濾的地方,但由於某種原因,碼頭不可見。其他* .js文件在那裏。如果我在瀏覽器中輸入網址,我可以看到它們,但只有「settings-file.js」不可見。
我該如何解決這個問題?
這聽起來像是你在處理兩個不同的問題。首先是你不確定如何讓Maven過濾以你想要的方式工作。第二個是jetty沒有按照您期望的方式提供JavaScript文件。不確定過濾。第二個問題可能與權限有關。 – morgancodes
我只是覺得它可以和mvn碼頭一起工作:run-war和mvn碼頭:run-explode但不是mvn碼頭:運行時就好像最後一個碼頭只將原始碼放到碼頭容器中一樣。現在的問題是如何使碼頭:運行目標使用過濾資源? – Sasa