Может ли Eclipse импортировать веб-проект Maven как «Динамическое веб-приложение»? - PullRequest
16 голосов
/ 05 августа 2011

Цель высокого уровня: Создание одного проекта веб-приложения Maven, который можно правильно использовать как в Netbeans, так и в Eclipse

При преобразовании проекта Maven в Eclipse тип проекта не устанавливается в Dynamic Web App при использовании команды: mvn eclipse: eclipse -Dwtpversion = 2.0

В Eclipse, при создании динамического веб-приложения, в обозревателе проектов отображаются многие другие параметры, такие как: Веб-службы JAX-WS, дескриптор развертывания и т. Д. Это совершенно другая структура фреймворка.

enter image description here

Кроме того, после преобразования в Eclipse с помощью приведенной выше команды я не могу "запустить" его, даже несмотря на то, что в результате преобразования указано: [INFO] Использование в качестве сервера WTP: Apache Tomcat v7.0. Вместо того, чтобы запускаться в качестве веб-службы, он спрашивает меня, является ли это Java-сервлетом, апплетом или модульным тестом.

enter image description here

В случае динамического веб-приложения (родного Eclipse) при запуске проекта появляется следующее:

enter image description here

Может быть, я слишком много прошу об Eclipse, и чтобы получить встроенную функциональность веб-приложения, он не может прийти от Maven?

Есть еще один, который я мог бы попробовать. Я мог бы создать динамическое веб-приложение в Eclipse, а затем нажать «Преобразовать в Maven». Возьмите этот POM, измените его, а затем посмотрите, будут ли его загружать netbeans.

Мой 'pom.xml':

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>

<groupId>com.voxel</groupId>
<artifactId>servermap</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>war</packaging>

<name>userprofile</name>

<properties>
    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

<dependencies>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-web-api</artifactId>
        <version>6.0</version>
        <scope>provided</scope>
    </dependency>

    <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.8.2</version>
        <scope>test</scope>
    </dependency>

    <dependency>
        <groupId>com.sun.jersey</groupId>
        <artifactId>jersey-server</artifactId>
        <version>1.8</version>
    </dependency>
    <dependency>
        <groupId>com.sun.grizzly</groupId>
        <artifactId>grizzly-servlet-webserver</artifactId>
        <version>1.9.18-m</version>
    </dependency>
</dependencies>

<repositories>
    <repository>
        <id>maven2-repository.dev.java.net</id>
        <name>Java.net Repository for Maven</name>
        <url>http://download.java.net/maven/2</url>
    </repository>
</repositories>

Ответы [ 3 ]

15 голосов
/ 06 августа 2011

Как рекомендует jhericks, если вы используете m2eclipse, вам не нужно использовать eclipse:eclipse goal. То, что делает eclipse:eclipse goal, также может быть выполнено m2eclipse.

Чтобы преобразовать проект в динамическое веб-приложение, вы можете настроить параметры Project Facets в свойствах вашего проекта

enter image description here

3 голосов
/ 05 августа 2011

Мне повезло с плагином m2eclipse от Sonatype.Когда я начал, я сделал ошибку, пытаясь использовать и m2eclipse, и цель eclipse: eclipse.Они не делают одно и то же, поэтому, если вы установите плагин, прекратите делать mvn eclipse: eclipse.В любом случае, это очень хорошо сработало для меня как с отдельными веб-проектами, так и с многопроектными проектами в стиле реакторов.

Единственная проблема, с которой я столкнулся, - это попытка развернуть файл war на сервере, настроенном в eclipse, если этот файл war построен с наложением, но это не кажется для вас проблемой.

2 голосов
/ 15 июля 2014
Плагин

m2e-wtp делает это автоматически, как указано здесь: Импорт существующих Maven в Eclipse как WTP

Все аспекты, исходные папки и т. Д. Будут правильно установлены после импорта.

https://www.eclipse.org/m2e-wtp/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...