Eclipse генерирует мои классы три раза в wtpwebapps - PullRequest
0 голосов
/ 17 октября 2011

У меня была проблема со средой PrettyFaces, когда класс был найден несколько раз при использовании eclipse для запуска приложения на сервере (tomcat 6)

Я обнаружил, что eclipse генерирует класс более одного раза в wtpwebapps:

\WEB-INF\classes\com\myapp\sample\beans\myclass.class
WEB-INF\classes\target\classes\com\myapp\sample\beans\myclass.class
\WEB-INF\classes\target\app-name\WEB-INF\classes\com\myapp\sample\beans\myclass.class

ОБНОВЛЕНИЕ:

Я использую плагин m2eclipse и использую maven в качестве инструмента сборки,возможно, у них неправильная конфигурация или что-то нужно настроить.

UPDATE2:

вот сборка файла pom, может быть, у меня что-то не так с этим:

<build>

        <finalName>appName</finalName> 

        <resources>

            <resource>
                <directory>src/main/resources</directory>
                <filtering>true</filtering>
            </resource>

        </resources>

        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-dependency-plugin</artifactId>
                <executions>
                    <execution>
                        <id>install</id>
                        <phase>install</phase>
                        <goals>
                            <goal>sources</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

            <plugin>
               <groupId>org.apache.maven.plugins</groupId>
               <artifactId>maven-resources-plugin</artifactId>
               <version>2.5</version>
               <configuration>
               <encoding>UTF-8</encoding>
               </configuration>
            </plugin>
        </plugins>
    </build>

есть идеи как решить эту проблему?

1 Ответ

0 голосов
/ 17 октября 2011

У меня вы установили разъем "m2e wtp"? Maven -> Discovery -> Открытый каталог (в Индиго) поиск "wtp".

Рассмотрите возможность использования:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>

тогда может не потребоваться настройка UTF-8 так, как вы. Но, возможно, у вас есть другая кодировка на этом этапе, но тогда было бы странно иметь * .java одну кодировку и ресурсы в другой. Лучше всего сделать весь проект одинаковым.

Можете ли вы подтвердить, что вы строите WAR, и это то, что вы видите в WAR? или если вы используете способность запуска Tomcat из Eclipse, и это то, что вы видите в проекте.

Также подтвердите, что вы использовали Остановить Tomcat, Очистить, вручную проверить, что каталог очищен (возможно, обновите рабочее пространство, а другие Серверы -> Очистить, вручную удалите файлы в области Tomcat). Затем выполните полную публикацию (для tomcat) и затем запустите / отладьте tomcat для запуска.

Я бы предположил, что если ваша конфигурация сейчас такая же, как и выше (и предполагается, что ни один родительский файл pom.xml плохо влияет на сборку, то что файлы, которые вы видите, являются результатом не очистки области wtpwebapps после возни с maven) конфигурации.

Есть несколько мест, которые нужно проверить, очищается:

Temporarly Turn off: Project -> Build Automatically
Stop All Servers instances running like: Tomcat
Run As -> Maven -> clean
Servers -> Clean

Open file browser and validate for yourself outside of Eclipse that the following dirs are empty or non-existant:

  workspaceDirectory/projectDirectory/target   (the maven output folder)

  workspaceDirectory/metadata/.plugins/org.eclipse.wst.server.core/tmpX/wtpwebapps/**
  # This one is ok to have the top level contextPath's, provind they are currently active projects you have added to the server.

  $CATALINA_HOME/

Perform workspace refresh (to ensure Eclipse resync file system state to workspace state).  I do this with clicking on any project in Project Explorer, then Ctrl-Clicking it again to deselect it (so nothing is selected but Project Explorer is in focus) then press F5.   Other people use Ctrl-A to select all projects.

  Now do a Project -> Build All
  Now do a Servers -> Publish  (now check the tree you get)

  Now re-enable Project -> Build Automatically (if you run that way)  
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...