[英]Maven Multimodule project issue?
嗨,我有這樣的多模塊 maven 項目。
父母
- 核
- 網絡
並且我的Web項目依賴於Core項目類,所以我在Web項目pom.xml文件中添加了Core項目作為依賴項。 但是當我運行Web項目時,從 Eclipse 內部,lib 目錄在類路徑中不包含Core-project.jar文件,因此項目未運行。 如何解決此問題?..我在Web Projec * Pom.xml * 文件中使用的插件..
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
<wtpversion>2.0</wtpversion>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
</plugin>
</plugins>
我正在使用 Tomcat6 服務器。
我的 Web 項目 pom.xml 文件中的這個 Dependency 標記...
<dependency>
<groupId>org.csdc</groupId>
<artifactId>core-java</artifactId>
<version>5.0.0</version>
</dependency>
當我從 Eclipse 內部運行 web 項目時,我沒有在這條路徑中獲得core.jar ....
workspace_maven.metadata.plugins\\org.eclipse.wst.server.core\\tmp0\\wtpwebapps\\web\\WEB-INF\\lib
任何人都遇到過這樣的問題。如果是,請告訴我如何解決這個問題?
在 Eclipse 下:您不需要在類路徑中包含 core.jar。 檢查你的庫(web->properties->java build path->lirairies),你應該看到你的核心文件夾而不是你的core.jar。
確保在您的 Maven 構建目標中選中“解決工作區依賴項”。
為 Eclipse 安裝 m2e 和 m2e-wtp 插件。 m2e-wtp 處理 web 項目和 tomcat。 您不需要您在問題中記錄的 pom 的插件部分。
為了讓maven在eclipse中處理項目,你需要確保父項目與子項目處於同一級別,並且父項目的pom如下
<modules>
<module>../project1</module>
<module>../project2</module>
</modules>
不幸的是,這是讓 maven 在 eclipse 和 jenkins 中為多模塊構建正常工作的唯一方法。
安裝正確的插件集並正確配置它們。
如果你需要更詳細的答案,你應該給我們更多的信息你試圖實現什么,你使用了哪些插件,什么樣的 web 服務器,你如何部署,你是使用 Maben 部署還是 Eclipse WTP 等。
[編輯]在 Eclipse 中啟動項目時,在 project/WEB-INF/lib 中看不到任何內容 - 沒有必要在其中放置任何內容,因為未使用此文件夾。
相反,您可能會將項目部署到 Web 服務器。 有一些 Eclipse 插件可以做到這一點(即啟動一個 Web 服務器,將您的項目部署到其中),但是由於您沒有提到您在 Eclipse 內部“啟動”項目的確切方式,您使用的是哪個版本的 Eclipse 以及您單擊了哪些按鈕,您如何配置 Eclipse 等等。真的很難幫到您。
不清楚這就是您要查找的內容,但是 jar 不會出現在 eclipse 中的 lib 目錄下,因為它們在您的存儲庫中。
當我右鍵單擊項目時,我的 eclipse 版本有一個“maven”菜單。 如果您也這樣做,請確保您選擇了“啟用 Maven 自然”。 這將使項目名稱旁邊出現一個小 M 和項目中的一個新文件夾,其中包含您的 pom.xml 中列出的所有依賴項。
1.轉到web項目構建路徑->庫-添加變量->配置變量->新建->輸入名稱為M2_REPO和路徑為C:\\Users\\usernmee.m2\\repository,然后單擊確定。 所有依賴項都將在項目構建路徑中配置。 所以在 web 項目中沒有編譯錯誤。
2.Maven 項目需要進行war 並部署在任何Web 容器(tomcat 等)中。
運行 mvn clean package 后檢查目標目錄中的 war。 如果它在那里丟失,請檢查 pom.xml 中“Web”的“Core”依賴范圍,確保它沒有被提供或測試。
從你的 pom 片段聽起來你正在使用 mvn eclipse:eclipse (你不應該再使用它),而是使用 m2eclipse 插件: http : //www.sonatype.org/m2eclipse 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.