2010-01-12 11 views
5

Pracuję z projektem maven w Eclipse i mam problem z uruchomieniem wdrożenia do pracy bez ręcznego edytowania plików xml.Aktualizowanie pliku .settings/org.eclipse.wst.common.component w projekcie maven

Kiedy buduję projekt za pomocą maven, otrzymuję plik xml org.eclipse.wst.common.component w moim folderze .settings. Plik wygląda następująco:

<?xml version="1.0" encoding="UTF-8"?> 
<project-modules id="moduleCoreId" project-version="1.5.0"> 
    <wb-module deploy-name="ins-web">   
     <wb-resource deploy-path="/" source-path="/WebContent"/> 
     <wb-resource deploy-path="/WEB-INF/classes" source-path="/src/java"/> 
     <property name="context-root" value="ins-web"/> 
     <property name="java-output-path"/> 
    </wb-module> 
</project-modules> 

Poniższy wiersz jest przyczyną problemu:

<wb-resource deploy-path="/" source-path="/WebContent"/> 

Jego spojrzenie wdrożyć wszystko poniżej folderu WebContent kiedy naprawdę powinno być patrząc w src/webapp. Linia powinna wyglądać następująco:

<wb-resource deploy-path="/" source-path="/src/webapp"/> 

Gdybym ręcznie zmienić to wszystko działa dobrze, ale chciałbym wiedzieć, czy istnieje sposób, aby uniknąć konieczności ręcznego zmieniania pliku, aby proces łatwiej budować inni ludzie w moim zespole.

+0

Jak wykonałeś projekt zaćmienia? Ręcznie lub za pomocą wtyczki maven-eclipse? – cetnar

Odpowiedz

4

W jaki sposób generujesz pliki eclipse. Czy używasz m2eclipse Eclipse plugin lub używasz maven-eclipse-plugin? m2eclipse to wtyczka do Eclipse, uruchomiona w Eclipse. Wtyczka maven-eclipse to plugin Maven uruchamiany z wiersza cmd w celu wygenerowania plików projektu Eclipse na podstawie twojego pom.xml.

Zawsze miałem lepszy sukces przy użyciu wtyczki maven-eclipse. Autorzy programu m2eclipse nie sugerują, aby spróbować użyć obu wtyczek razem.

Jeśli używasz wtyczki maven-eclipse, powinieneś sprawdzić kilka rzeczy.

  1. Użyj najnowszej wersji wtyczki maven-eclipse w wersji 2.7.
  2. Upewnij się, że Twój projekt jest "opakowaniem wojennym".
  3. Skonfiguruj wtyczkę maven-war oraz ustaw katalog źródłowy wojny według własnego uznania. Dodaj następujący fragment do swojego pom.xml. W ten sposób wtyczka maven-eclipse określa, gdzie znajduje się twoja aplikacja internetowa.
 
    <plugin> 
    <artifactId>maven-war-plugin</artifactId> 
    <version>2.1-beta-1</version> 
    <configuration> 
     <warSourceDirectory>src/webapp</warSourceDirectory> 
    </configuration> 
    </plugin> 

Po wprowadzeniu tych zmian i działa mvn eclipse:clean eclipse:eclipse ponownie, powinieneś zobaczyć wartość oczekiwaną w pliku komponentu.

+0

Cześć Peter, ja nie używam maven-eclipse-plugin. Uruchamiam wszystkie komendy maven z linii poleceń. zrobiłem wyszukiwania w moim projekcie miejsca, aby ustawić opcję „warSourceDirectory”, ale nie mógł znaleźć jeden ... – Ger

+2

Brzmi jak myślisz maven-eclipse-plugin to plugin Eclipse uruchomić wewnątrz Eclipse. Nie jest. Jest to wtyczka Maven wykonana z wiersza cmd. warSourceDirectory jest częścią konfiguracji Maven-war-plugin znaleziono wewnątrz pom.xml Maven swojego projektu. –

0

Niestety, "mvn eclipse: clean eclipse: eclipse" nie generuje tych samych plików, które Eclipse tworzy podczas tworzenia nowego projektu (mam na myśli ".settings"). I dlatego (na przykład) pozycja "Zależności modułu Java EE" nie pojawia się we właściwościach projektu. Czy istnieje sposób edycji pliku "org.eclipse.wst.common.component" bez użycia "mvn eclipse: clean" i bez robienia tego ręcznie? Pozdrowienia

+4

Witaj Lucas (i witaj w StackOverflow). I sugerują, że piszesz jako nowy * Pytanie *, StackOverflow jest Q & A lan oraz odpowiedzi powinny być wykorzystywane do odpowiedzi na oryginalne pytanie. Z góry dziękuję. –

2

W maven-eclipse-plugin config dodać ...

<additionalConfig> 
    <file> 
    <name>.settings/org.eclipse.wst.common.component</name> 
    <content> 
     <![CDATA[Your file content here 
     ]]> 
    </content> 
    </file> 
</additionalConfig> 
0

dobrze, aby zregenerować plik dla JAR (tylko), w sprawie projektu, kliknij prawym przyciskiem myszy> Właściwości> Project Facets: - Sprawdź opcję Java i wybierz wersję Java. Wygeneruje plik org.eclipse.wst.common.project.facet.core w folderze .settings - Sprawdź moduł Utility.wygeneruje plik org.eclipse.wst.common.component do .settings folderu - Kliknij na przycisk i/lub przycisk OK

Zastosuj To tylko sposób, aby wygenerować plik dla IDE środowisko. Z naszego zrozumienia wynika, że ​​jeden powód, dla którego m2e-wtp nie generuje poprawnie pliku, jest "złym" POM. Wygląda na to, że Aspekty Projektu wywodzą się z pliku pom.xml i ich relacji między innymi projektami/modułami (np. Zależności z modułem WWW/typem projektu Java EE).

Powiązane problemy