Как узнать, какие версии JAR-файлов использовались в проекте eclipse? - PullRequest
0 голосов
/ 09 апреля 2020

Я унаследовал проект eclipse, у которого есть пара зависимостей. Нет документации и сопровождающий больше не доступен. Некоторые из них упоминались в настройках проекта, и я мог просто скачать правильные банки и добавить их. В пути сборки больше нет ссылок. Но теперь я вижу, что в исходном коде все еще есть нерешенные операции импорта, например

import org.apache.cxf.*;
import javax.servlet.ServletContextEvent;
import javax.servlet.http.HttpServletRequest;

. Вот .project:

<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
    <name>Server</name>
    <comment></comment>
    <projects>
    </projects>
    <buildSpec>
        <buildCommand>
            <name>org.eclipse.wst.jsdt.core.javascriptValidator</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.jdt.core.javabuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.common.project.facet.core.builder</name>
            <arguments>
            </arguments>
        </buildCommand>
        <buildCommand>
            <name>org.eclipse.wst.validation.validationbuilder</name>
            <arguments>
            </arguments>
        </buildCommand>
    </buildSpec>
    <natures>
        <nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
        <nature>org.eclipse.wst.common.modulecore.ModuleCoreNature</nature>
        <nature>org.eclipse.wst.common.project.facet.core.nature</nature>
        <nature>org.eclipse.jdt.core.javanature</nature>
        <nature>org.eclipse.wst.jsdt.core.jsNature</nature>
    </natures>
</projectDescription>

и .classpath:

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
    <classpathentry kind="src" path="src"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
    <classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
    <classpathentry kind="lib" path="WebContent/WEB-INF/lib/sqljdbc4.jar">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry exported="true" kind="con" path="org.eclipse.jst.ws.cxf.core.CXF_CLASSPATH_CONTAINER">
        <attributes>
            <attribute name="org.eclipse.jst.component.dependency" value="/WEB-INF/lib"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"/>
    <classpathentry kind="lib" path="C:/Users/xxxx/Desktop/Server/src/libs/fontbox-1.8.16.jar"/>
    <classpathentry kind="lib" path="C:/Users/xxxx/Desktop/Server/src/libs/pdfbox-1.8.16.jar"/>
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
        <attributes>
            <attribute name="owner.project.facets" value="java"/>
        </attributes>
    </classpathentry>
    <classpathentry kind="lib" path="C:/Users/xxxx/Desktop/Server/src/libs/log4j-1.2.17.jar"/>
    <classpathentry kind="lib" path="C:/Users/xxxx/Desktop/Server/src/libs/commons-lang-2.6.jar"/>
    <classpathentry kind="output" path="build/classes"/>
</classpath>

Что касается сервера приложений, я проверил в тестовой среде, что для Tomcat не настроено ничего особенного.

Мои вопросы:

  1. как это может быть не видны как неправильные зависимости библиотеки в пути сборки?
  2. особенно когда дело доходит до cxf, есть ли способ узнать, какая версия использовалась?

1 Ответ

1 голос
/ 09 апреля 2020

javax.servlet версии 2.5 в Tomcat 6 из вашей конфигурации:

 <classpathentry kind="con" path="org.eclipse.jst.server.core.container/org.eclipse.jst.server.tomcat.runtimeTarget/Apache Tomcat v6.0"/>.

, и ваше приложение должно просто зависеть от jar-файлов, включенных в Tomcat.

Для CXF я думаю сначала вы должны добавить среду исполнения CXF в Eclipse в разделе: «Предпочтения»> «Веб-сервисы»> «Установки CXF.2»> «Среда выполнения CXF». Указанная c версия не может быть вычтена из того, что вы сообщили. Вы можете посмотреть здесь: https://cxf.apache.org/download.html

Вы должны рассмотреть вопрос об обновлении Java, Tomcat и CXF до более новых версий, поскольку Tomcat 6 устарел и в конце срока службы с 2017 года.

Примечание: когда вы создаете свой проект, необходимые файлы CXF должны оказаться в / WEB-INF / lib в вашей войне. Если вы запустите сервер на Eclipse, они будут помещены во временную папку, например:

[WORKSPACE]\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\WebServiceProject\WEB-INF\lib\
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...